ConstructConnect APIconstructconnect.com ↗
Access US construction project data, market reports, industry events, economic insights, and blog content via the ConstructConnect API. 7 endpoints.
What is the ConstructConnect API?
The ConstructConnect API provides 7 endpoints covering active construction projects across all 50 US states, national market reports, industry events, and economic insights. The get_projects_by_state endpoint returns per-project fields including name, city, project value, bid date, sector, and primary building use. The get_market_report endpoint aggregates active project counts at both state and county level, giving a national snapshot in a single call.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/85d36358-54d2-41ec-8aa7-f0f1f3f90949/get_market_report' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace constructconnect-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: ConstructConnect SDK — construction project data and market insights."""
from parse_apis.constructconnect_api import ConstructConnect, State_, StateNotFound
client = ConstructConnect()
# Get the national market report — singleton fetch, no params needed.
report = client.marketreports.get()
print(f"Total active projects: {report.total_active_projects}")
print(f"States tracked: {len(report.states)}, Counties tracked: {len(report.counties)}")
# List projects for a specific state using constructible State resource.
for project in client.state(State_.UTAH).projects(limit=3):
print(f" {project.name} | {project.city}, {project.state} | {project.primary_project_type}")
# Browse blog posts, then drill into the first one for full content.
post = client.blogposts.list(limit=1).first()
if post:
detail = post.details()
print(f"Blog: {detail.title}")
print(f" Content preview: {detail.content[:120]}...")
# Upcoming industry events.
for event in client.events.list(limit=3):
print(f"Event: {event.name} — {event.date}, {event.location}")
# Economic insights and pricing plans.
for insight in client.insights.list(limit=2):
print(f"Insight: {insight.title} -> {insight.url}")
for plan in client.pricingplans.list(limit=3):
print(f"Plan: {plan.name} — {len(plan.features)} features")
# Typed error handling for an invalid state.
try:
for p in client.state("invalidstate").projects(limit=1):
print(p.name)
except StateNotFound as exc:
print(f"State not found: {exc.state}")
print("Exercised: marketreports.get / state.projects / blogposts.list / post.details / events.list / insights.list / pricingplans.list")
Retrieve national market report data showing total active projects and counts by state and county. Returns aggregated project counts across all US states and counties. No parameters required.
No input parameters required.
{
"type": "object",
"fields": {
"states": "array of objects with project_count and state_abbreviation",
"counties": "array of objects with county, project_count, and state_abbreviation",
"total_active_projects": "integer total of all active projects nationally"
},
"sample": {
"data": {
"states": [
{
"project_count": 23881,
"state_abbreviation": "AL"
},
{
"project_count": 6744,
"state_abbreviation": "AK"
}
],
"counties": [
{
"county": "Autauga",
"project_count": 246,
"state_abbreviation": "AL"
},
{
"county": "Baldwin",
"project_count": 1672,
"state_abbreviation": "AL"
}
],
"total_active_projects": 1598382
},
"status": "success"
}
}About the ConstructConnect API
Project Data by Geography
The get_projects_by_state endpoint accepts a state parameter as either a full name ('california') or 2-letter abbreviation ('CA') and an optional limit (1–100). Each project object in the response includes id, name, city, state, primary_building_use, primary_project_type, project_value, sector, and bid_date. The response also surfaces total_projects for the state alongside the count of records actually returned, so you can track how many projects are active in a given market without paginating through all results.
National Market Reports and Economic Insights
get_market_report requires no inputs and returns a national-level snapshot: total_active_projects as an integer, an array of state objects each with project_count and state_abbreviation, and a county-level array with county, project_count, and state_abbreviation. This makes it straightforward to build state or county ranking tables. get_economic_insights returns a list of construction economic report links (title and url), suitable for surfacing industry analysis resources programmatically.
Content and Events
get_blog_posts returns recent articles with title, url, and excerpt, and accepts an optional category slug (e.g. 'construction-news', 'estimating') to filter by topic. Pass a post URL from those results to get_blog_post_details to retrieve the full content string for a given article. get_industry_events returns upcoming trade shows and industry events with name, date, and location. get_pricing_plans returns the available subscription tiers with name and features arrays from the ConstructConnect pricing page.
The ConstructConnect API is a managed, monitored endpoint for constructconnect.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when constructconnect.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official constructconnect.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a state-level construction activity dashboard using
project_countfromget_market_reportcounty and state arrays - Track bid pipeline by querying
get_projects_by_stateforbid_dateandproject_valueacross target markets - Aggregate sector distribution (residential vs. commercial) using the
sectorfield from state project listings - Monitor industry trade shows by pulling
get_industry_eventsinto a team calendar or alert system - Surface construction news articles filtered by category using
get_blog_postswith acategoryslug parameter - Compare active project totals across counties to identify high-activity construction markets
- Feed full article text from
get_blog_post_detailsinto a content analysis or summarization pipeline
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ConstructConnect offer an official developer API?+
What project-level fields does `get_projects_by_state` return?+
get_projects_by_state returns an array of project objects containing id, name, city, state, primary_building_use, primary_project_type, project_value, sector, and bid_date, along with total_projects for the state and the count of records in the current response. Set limit between 1 and 100 to control result size.Does the API return Canadian construction project data?+
get_projects_by_state and get_market_report are scoped to US states and counties only. ConstructConnect's platform does cover Canadian markets, but that data is not exposed by the current endpoints. You can fork this API on Parse and revise it to add a Canadian project endpoint.Does `get_market_report` support filtering by date range or project type?+
get_market_report. It always returns the current national snapshot of total active projects with state and county breakdowns. For filtering by type or sector, use get_projects_by_state and inspect the primary_project_type and sector fields per project. You can fork this API on Parse and revise it to add filtered market report endpoints.Does the API expose individual project detail pages beyond what `get_projects_by_state` returns?+
project_value, bid_date, sector, etc.). Full project specification documents, plan files, and contact details available inside ConstructConnect's subscription platform are not exposed. You can fork this API on Parse and revise it to add a project detail endpoint.