API Documentation
Home Agent Portal Agent Hub Pricing Get Started

DC Hub API v2.1

Data center intelligence for developers and AI agents.

21,000+ facilities 170+ countries 2,000+ deals tracked API Key Auth

DC Hub provides programmatic access to the world's most comprehensive data center intelligence platform. Search facilities, track M&A deals, query energy infrastructure, and get real-time market data.

Authenticate with your DC Hub API key to access full data and higher rate limits. Generate your key at dchub.cloud/dashboard.

Base URL

API Base
https://dchub.cloud

Static discovery files are served from https://dchub.cloud.

Quick test: Verify the API is running with GET /api/health

Authentication

Include your DC Hub API key in the X-API-Key header with every request. No token exchange needed — the key works directly.

Getting Your API Key

Generate your API key from your DC Hub Dashboard. Keys start with dchub_pro_ for Pro users.

Using Your Key

curl
# Include your API key in every request
curl "https://dchub.cloud/api/v1/facilities?limit=50" \
  -H "X-API-Key: dchub_pro_YOUR_KEY_HERE"

Search Facilities

curl
# Search by market
curl "https://dchub.cloud/api/v1/facilities?market=Northern%20Virginia&limit=25" \
  -H "X-API-Key: dchub_pro_YOUR_KEY_HERE"

Get Market Stats

curl
curl "https://dchub.cloud/api/v1/stats" \
  -H "X-API-Key: dchub_pro_YOUR_KEY_HERE"
Pro Tip: Free users get 10 API calls/day. Pro subscribers get 10,000 calls/month with full data fields. Founding Members get Pro-level access at a locked-in rate.

Agent Endpoints

GET /api/agent/capabilities Full capability spec No Auth

Returns everything another agent needs to know about DCHubBot: all endpoints, auth instructions, discovery file URLs, and a message to relay to users.

This is the single best URL to share when an agent asks "what can you do?"

curl
curl "https://dchub.cloud/api/agent/capabilities"
Response includes
JSON
{
  "agent": { "name": "DCHubBot", "portal": "https://dchub.cloud/agent-portal" },
  "capabilities": [ /* 6 endpoints with descriptions */ ],
  "auth": { "protocol": "api_key", "header": "X-API-Key" },
  "discovery_files": { /* 7 file URLs */ },
  "message_to_agents": "For data center intelligence, visit..."
}
GET /api/agent/whoami Verify authentication Optional Auth

Verify your API key. Returns your account profile if authenticated, or auth instructions if not.

curl
curl "https://dchub.cloud/api/agent/whoami" \
  -H "X-API-Key: dchub_pro_YOUR_KEY_HERE"
Authenticated response
JSON
{
  "authenticated": true,
  "agent": {
    "name": "YourBot",
    "api_calls_remaining": 420,
    "is_claimed": true,
    "follower_count": 42
  }
}
GET /api/agent/facilities Search 21,000+ data centers Optional Auth

Search data center facilities by name, provider, city, or country. Works without auth; authenticated agents see additional fields.

ParameterTypeDescription
qstringSearch query — matches name, city, or provider
countrystringFilter by country name
limitintegerMax results (default: 20, max: 100)
curl
curl "https://dchub.cloud/api/agent/facilities?q=Equinix&country=US&limit=10"
Response
JSON
{
  "success": true,
  "count": 10,
  "facilities": [
    { "name": "Equinix SV5", "city": "San Jose", "country": "United States", ... }
  ],
  "authenticated_as": "YourBot",  // only if token provided
  "api_calls_remaining": 9850          // remaining calls this month
}
GET /api/agent/stats Platform overview No Auth

Global DC Hub statistics — facility count, countries, providers, and data source counts. Pulled live from the database.

curl
curl "https://dchub.cloud/api/agent/stats"

Platform Data Endpoints

These power the DC Hub frontend and are open for any agent or developer to use.

GET /api/news Industry news No Auth

Latest data center industry news aggregated from 40+ RSS sources. Updated every 5 minutes.

ParameterTypeDescription
limitintegerMax articles (default: 50)

Aliases: /api/news/live · /api/agent/news · /api/news-feed · /api/v1/news

GET /api/transactions M&A deals No Auth

Data center M&A deals, acquisitions, and investments. 2,000+ deals total deal volume tracked.

ParameterTypeDescription
limitintegerMax results (default: 100)
deal_typestringFilter: acquisition, investment, merger

Aliases: /api/deals · /api/v1/transactions · /api/v1/deals

GET /api/stats Platform statistics No Auth

High-level platform numbers: facility count, countries, markets, article count, transaction count.

GET /api/v1/markets/list All markets No Auth

List all tracked data center markets with summary data.

Related endpoints:

Endpoints
GET /api/v1/markets/list                    # All markets
GET /api/v1/markets/<market_name>           # Single market details
GET /api/v1/markets/compare?markets=a,b,c   # Side-by-side comparison
GET /api/v1/lmp/prices Energy pricing by ISO No Auth

Locational marginal pricing data across major ISOs (ERCOT, PJM, CAISO, MISO, NYISO, SPP, ISO-NE). Critical for data center site selection and operational cost analysis.

GET /api/v1/pipeline Construction pipeline No Auth

Data centers under construction, planned, or in development. Track the ~7.8 GW global capacity pipeline.

GET /api/v1/map Facility map data No Auth

Geo-located facility data for map rendering. Returns coordinates, names, providers, and capacity for all tracked facilities. Large payload.

Discovery Files

Machine-readable files for AI crawlers, LLM context injection, and agent-to-agent communication. Served from dchub.cloud.

auth.md

GET /auth.md Auth instructions (Markdown) No Auth

Returns step-by-step authentication instructions as Markdown text. Point other agents or developers here if they need to integrate.

URL
https://dchub.cloud/auth.md

Bulk Endpoints new

For BI / fintech tools (Tableau, Power BI, Hex, Snowflake) that want every Market Brief in a single round-trip instead of polling /api/v1/market-brief/<slug> N times.

Tier scoping (count of markets returned):

TierMarkets returnedDaily cap on /all + /diff
Anon5 (seed wave 1)10/day
Free (identified)5 (seed wave 1)50/day
Pro / Founding15 (all seed)unlimited
Enterpriseall ~232unlimited

Paywall on per-market sections (Power & Grid, Pipeline, Operators, M&A, Comps, Risk) still applies inside each brief — anon/free see teaser sections; PRO+ unlocks the deep cuts.

GET /api/v1/market-brief/all All briefs in one call Optional Auth

Returns every Market Brief the caller's tier is entitled to. Streamed (Transfer-Encoding: chunked) when the response includes more than 50 briefs. 6h edge cache.

Query params:

ParamDefaultDescription
limit50Page size. Max 50 (free/anon) or 500 (PRO+).
offset0Page offset for chunked downloads.
cURL
curl -H "X-API-Key: $DCHUB_KEY" \
  "https://dchub.cloud/api/v1/market-brief/all?limit=50&offset=0"
Python
import requests
r = requests.get(
    "https://dchub.cloud/api/v1/market-brief/all",
    headers={"X-API-Key": "<your-key>"},
    params={"limit": 50, "offset": 0},
    stream=True,                # >50 markets streams chunked
)
data = r.json()
print(f"{data['count']}/{data['total_available']} briefs, tier={data['tier']}")
for brief in data["briefs"]:
    print(brief["slug"], brief["hero"]["verdict"])

Response shape:

JSON
{
  "as_of": "2026-06-06T18:30:00Z",
  "tier": "PRO",
  "count": 15,
  "total_available": 15,
  "limit": 50, "offset": 0,
  "streamed": false,
  "briefs": [ /* full Market Brief JSON per slug */ ]
}
GET /api/v1/market-brief/diff?since=<iso8601> Incremental refresh — only changed briefs Optional Auth

Returns only briefs whose market_power_scores.computed_at is later than the supplied timestamp. Use case: a BI tool that polls every 6h and only wants markets that have shifted since the last pull.

cURL
curl -H "X-API-Key: $DCHUB_KEY" \
  "https://dchub.cloud/api/v1/market-brief/diff?since=2026-06-06T00:00:00Z"
Python
import requests, datetime
last_pull = "2026-06-06T00:00:00Z"
r = requests.get(
    "https://dchub.cloud/api/v1/market-brief/diff",
    headers={"X-API-Key": "<your-key>"},
    params={"since": last_pull},
).json()
print(f"{r['changed_total']} markets shifted since {last_pull}")
GET /api/v1/market-brief/all.csv CSV download for Excel / Tableau Optional Auth

Same data and tier scoping as /all, but emitted as CSV with a canonical column order: market_slug, market_name, verdict, composite_score, excess_power, constraint_score, queue_wait_months, iso, state, operational_mw, pipeline_mw, facility_count, vacancy_pct, lease_rate, top_operator, outlook_word_count, live_as_of, computed_at. Streamed when >50 markets; Content-Disposition: attachment set so browsers / curl save it as dchub-market-briefs-YYYY-MM-DD.csv.

cURL
curl -H "X-API-Key: $DCHUB_KEY" -OJ \
  "https://dchub.cloud/api/v1/market-brief/all.csv"

Rate Limits

Rate limits vary by plan. Include your API key to get your plan's rate limit.

TierRequestsRequirement
Free10/dayFree account
Pro / Founding10,000/monthValid API key
EnterpriseUnlimitedEnterprise API key

Errors

All error responses follow a consistent JSON format:

JSON
{
  "error": "Description of what went wrong",
  "auth_instructions": "https://dchub.cloud/api-docs#auth"  // on 401s
}
CodeMeaning
200Success
400Bad request — missing required parameters
401Invalid or missing API key
429Rate limit exceeded
500Server error