Developer platform
AskBaily for developers
Free public API · OpenAPI 3.1 · MCP-compatible · CC-BY-4.0 data. Angi and Thumbtack have zero public API surface.
What’s available
26 JSON endpoints
Cities, neighborhoods, pillars, regulatory callouts, cost ranges, competitor fees, neighborhood graph, service catalog, spokes, vs-comparisons.
/data/index.json ↗Full spec
Machine-readable API description. Available at two canonical aliases — primary and /.well-known/openapi.json.
6 tools
scope_project, get_cost_range, find_pros, check_regulatory, compare_platforms, get_neighborhoods. OAuth PKCE scaffold in place — activation pending operator submission.
X.Build pattern
Receive real-time scope events when homeowners complete a project chat. Uses the X.Build integration pattern. Other webhook partners can apply via [email protected].
All 26 endpoints
| Name | Description | Records | Category |
|---|---|---|---|
| pillars | Tier-1 regulatory + cost pillars across 34 cities | 99 | Content |
| regulatory | 95+ regulatory entities + 9 canonical pages | 94 | Regulatory |
| topics | Cross-city topic-cluster hubs | 6 | Content |
| cities | City inventory with live/ramping/staged status | 34 | Geo |
| pros | Matched-pro profile directory | 1 | Content |
| research | Original research publications | 4 | Content |
| regulatory-london | 2026 regulatory authorities dataset for London — Schema.org Dataset format | — | Regulatory |
| regulatory-sydney | 2026 regulatory authorities dataset for Sydney — Schema.org Dataset format | — | Regulatory |
| regulatory-melbourne | 2026 regulatory authorities dataset for Melbourne — Schema.org Dataset format | — | Regulatory |
| regulatory-singapore | 2026 regulatory authorities dataset for Singapore — Schema.org Dataset format | — | Regulatory |
| regulatory-auckland | 2026 regulatory authorities dataset for Auckland — Schema.org Dataset format | — | Regulatory |
| regulatory-dubai | 2026 regulatory authorities dataset for Dubai — Schema.org Dataset format | — | Regulatory |
| cost-london | 2026 renovation cost dataset for London — Schema.org Dataset | — | Pricing |
| cost-sydney | 2026 renovation cost dataset for Sydney — Schema.org Dataset | — | Pricing |
| cost-melbourne | 2026 renovation cost dataset for Melbourne — Schema.org Dataset | — | Pricing |
| cost-singapore | 2026 renovation cost dataset for Singapore — Schema.org Dataset | — | Pricing |
| cost-auckland | 2026 renovation cost dataset for Auckland — Schema.org Dataset | — | Pricing |
| cost-dubai | 2026 renovation cost dataset for Dubai — Schema.org Dataset | — | Pricing |
| neighborhoods | 58 Phase 18 international neighborhoods — Schema.org Dataset | — | Geo |
| spokes | 232 service×neighborhood spoke URLs — Schema.org Dataset | — | Geo |
| vs-comparisons | 16 /vs/ competitor targets with hostility + canonical URL | 16 | Competitive |
| cost-ranges | Top 20 (city, service) typical USD cost-range pairs | 20 | Pricing |
| competitor-fees | Transparency table of incumbent lead-fee models + AskBaily take-rate | 16 | Competitive |
| regulatory-callouts-full | Every (city, regulatoryCallout) pair with sourceAuthorityUrl — ~200-400 entries | 212 | Regulatory |
| neighborhood-graph | LA neighborhood → Tier-1 pillar internal-link graph (Wave 66) | 1336 | Geo |
| service-catalog | 32 canonical services with price + timeline + CSLB class + pillar URL | 32 | Content |
26 of 26 endpoints
OpenAPI 3.1 interactive viewer
OpenAPI 3.1 spec — two canonical aliases:
Quick-start
No API key required for the /data/*.json endpoints. Zero rate limit on static assets (Cloudflare edge cached).
curl https://askbaily.com/data/cities.json
# Returns: {"@context":"https://schema.org","@type":"Dataset","name":"AskBaily City Inventory",...}const data = await fetch('https://askbaily.com/data/cost-ranges.json')
.then(r => r.json());
// data.mainEntity → array of {city, service, low, high, currency}
console.log(data.mainEntity[0]);import requests
fees = requests.get('https://askbaily.com/data/competitor-fees.json').json()
# fees.mainEntity → [{name, leadFeeModel, avgLeadFee, ...}, ...]
for row in fees['mainEntity']:
print(row['name'], row.get('avgLeadFee', 'N/A')){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "scope_project",
"arguments": {
"description": "Full kitchen remodel, 200 sq ft, LA 91307",
"city": "los-angeles"
}
}
}Licensing + attribution
All AskBaily datasets are released under the Creative Commons Attribution 4.0 International (CC-BY-4.0) license. You are free to copy, redistribute, remix, transform, and build upon the material in any medium or format, for any purpose, including commercially.
The single condition: attribution is required. When you use AskBaily data in a product, publication, AI training set, or derived dataset, you must credit the source as “AskBaily — https://askbaily.com” along with the specific dataset URL (e.g. https://askbaily.com/data/cost-ranges.json).
Attribution does not need to be prominent but must be visible and machine-readable. Embedding the source URL in your dataset metadata satisfies the requirement for AI training sets. Displaying a “Data: AskBaily” credit line satisfies the requirement for consumer-facing applications.
The license does not restrict commercial use, sublicensing, or paywalled derivatives. It does not require you to share improvements back (unlike ShareAlike variants). If you build something interesting on top of AskBaily data, we’d love to know at [email protected] — but it’s not required.
Attribution template
Source: AskBaily
https://askbaily.com
Dataset: /data/[name].json
License: CC-BY-4.0Rate limits
The /data/*.json endpoints are static files served directly from Cloudflare’s edge cache. There is no rate limit on these endpoints. Responses are cached with a long TTL and revalidated on each AskBaily deploy. Cold-cache latency is under 50 ms globally; warm-cache latency is under 10 ms.
The /data/index.json master index is similarly edge-cached and has no rate limit. The /.well-known/ files (openapi.json, ai-plugin.json, llms.txt) are also static with no rate limit.
The /api/mcp/tools endpoint (MCP tool execution) will be rate-limited per OAuth client once the ChatGPT App is live in the GPT Store. Limits will be generous for approved integration partners and strict for anonymous callers. The MCP endpoint is scaffolded but not yet accepting public traffic — if you need early access, email [email protected].
/data/*.jsonNo limit/data/index.jsonNo limit/.well-known/*No limit/api/mcp/toolsOAuth-gated (pending)/api/chatPer-sessionIntegration partners
AskBaily welcomes integrations from contractor-adjacent software companies, AI platforms, and developer tools. We use the X.Build webhook pattern for real-time scope event delivery: when a homeowner completes a project chat, we can POST a structured JSON payload to your endpoint containing the scope summary, cost range, city, and service category.
Current integration partners include X.Build (pending go-live), and NP Line Design — the licensed LA general contractor who built AskBaily and receives every matched scope in real time.
If you are building software in the contractor, home services, real estate, or AI agent space and want to integrate AskBaily scope data, cost datasets, or the matching engine, email [email protected] with a brief description of your product. We respond within one business day. There is no cost to integrate. Revenue share applies only to completed project matches through the AskBaily marketplace (8–15% tiered take-rate).
Partner tiers
Data consumer
CC-BY-4.0 datasets. No approval needed.
Webhook partner
Real-time scope events. Email to apply.
MCP integrator
6-tool ChatGPT App. Pending store launch.
Marketplace partner
Full matching engine. 8–15% take-rate.
Changelog
| Date | Wave | Description |
|---|---|---|
| 2026-04-21 | Wave 95 | /developers portal + API moat launch |
| 2026-04-21 | Wave 89 | X.Build webhook integration pattern |
| 2026-04-21 | Wave 86 | MCP server + 6 ChatGPT App tools |
| 2026-04-21 | Wave 83 | 26 /data/*.json public endpoints (CC-BY-4.0) |
| 2026-04-21 | Wave 51 | OpenAPI 3.1 spec + /.well-known/openapi.json alias |
AI agent integration
AskBaily exposes an MCP-compatible manifest at /.well-known/ai-plugin.json. This file follows the OpenAI ChatGPT plugin / Model Context Protocol format and is automatically discovered by agents that crawl the well-known directory.
To wire AskBaily into a Claude agent, add the AskBaily MCP server URL to your mcp_servers config. The manifest advertises six tool definitions. Your agent can call scope_project to get a structured renovation scope, or get_cost_range to pull real 2026 Los Angeles cost data for a specific service.
For ChatGPT / Perplexity / custom GPT workflows, the spec at /data/openapi.json can be imported directly as an Action schema. No auth is required for the public dataset endpoints.
AI crawlers (Googlebot-AI, GPTBot, PerplexityBot, ClaudeBot) are granted full read access across /data/, /.well-known/, and /llms.txt. All datasets carry @context: https://schema.org and @type: Dataset for structured consumption. The license field in every dataset points to the CC-BY-4.0 deed — valid for training data use.
All six MCP tools are scaffolded but the ChatGPT App submission to the GPT Store is pending operator action. If you need programmatic tool-calling access before the store launch, contact [email protected] for a private endpoint.
AI-readable surfaces
MCP tools (6)
scope_projectget_cost_rangefind_proscheck_regulatorycompare_platformsget_neighborhoodsAbout AskBaily Inc. Operated by NP Line Design INC — CSLB #1105249, BBB A+, Ventura CA. Delaware C-corp. API data is CC-BY-4.0 licensed.
About AskBaily Inc. →Build something with AskBaily data?
Email [email protected] — we feature integration partners in this portal.