Skip to content
Data & methodology

APIs & Downloads

Everything on this dashboard is public. Download the underlying data as CSV or JSON, or pull it programmatically through the read-only REST API below.

API base URL: https://aidisruption.fyi/api · no authentication · all endpoints are read-only GETs · rate limit: be reasonable

Download the data

The four files below are the raw material behind the dashboard's cards and tables. Each button fetches the data live from the API and saves it to your device — nothing is cached or pre-generated, so what you download is exactly what the site is showing right now.

Metrics & observations

All metric definitions and their latest observations, every tracked geography.

Source: /api/metrics · CC BY 4.0

Metro heatmap data

Stress scores, AI exposure weights, and impact scores for all tracked metros.

Source: /api/geo/metro-impact · CC BY 4.0

Career exposure scores

AI exposure, displacement, and augmentation scores for all tracked occupations.

Source: /api/career/browse · CC BY 4.0; upstream sources retain their own terms

Scenario weights

Current scenario tracker weights and monitored indicator status.

Source: /api/scenario · CC BY 4.0

REST API catalog

The dashboard API is a RESTful JSON API. The catalog below lists the public data endpoints, grouped by what they serve. Rows marked v2 are the measured exposure, adoption, community, and track-record series added with the v2 schema; the rest are the original v1 catalog. A handful of POST-only endpoints (alert subscriptions, the contact form) serve the site's own forms and are not part of the public data catalog.

Catalog verified against the live OpenAPI spec on October 6, 2026 — 50 endpoints (28 v2). The authoritative machine-readable list is at /openapi.json.

Core metrics & registry

6 endpoints · 1 v2
Endpoint
What it returns
Example
API
GET/api/metrics
Every metric definition the dashboard tracks — id, name, panel, role, unit, cadence, source.
v1
GET/api/metrics-registry
The display registry — plain-language name, source, unit, threshold, and limits for every metric.
v1
GET/api/metrics/{metric_id}/observations
Latest observations for one metric, every tracked geography.
v1
GET/api/metrics/{metric_id}/history
Full time series for one metric (add geo_id=national:US for the national series).
v1
GET/api/metrics/interpretation/{metric_id}
Interpretation copy for one metric — why it matters, how to read it, its limits.
v1
GET/api/v2/metrics
The same metric catalog, paginated (limit / offset) with a total count.
v2
All endpoints are read-only GET requests and require no authentication. Examples are relative to the API base URL (https://aidisruption.fyi/api).

Geography & metros

15 endpoints · 12 v2
Endpoint
What it returns
Example
API
GET/api/geo/metro-impact
Metro heatmap data — stress score, AI exposure weight, and impact score for every tracked metro.
v1
GET/api/v2/geo/metro-impact
The same metro impact data in the v2 schema.
v2
GET/api/v2/geo/exposure-map
Latest-release measured AI exposure for every tracked metro (the map's exposure layer).
v2
GET/api/v2/geo/national-trend
Monthly national series for the metro impact composite.
v2
GET/api/v2/exposure-scores/{cbsa_code}
Observed exposure (with 90% bootstrap intervals) plus structural exposure for one metro.
v2
GET/api/geo/resolve
Resolve a ZIP code to the CBSA, county, and PUMA that contain it.
v1
GET/api/geo/reverse
Reverse lookup: coordinates to the nearest named place.
see path
v1
GET/api/v2/geo/resolve-place
Place name (or ZIP) to resolved geography — used by the v2 site search.
v2
GET/api/v2/geo/metro-search
Metro name search — forgiving prefix / partial matching.
v2
GET/api/v2/geo/nearest-metro
The nearest tracked metro to a point (lat / lon).
v2
GET/api/v2/geo/compare-metros
Compare a set of metros side by side (metros=cbsa:41860,cbsa:31080).
see path
v2
GET/api/v2/geo/county-coverage
Which metrics have data for one ZIP's county, and since when.
v2
GET/api/v2/geo/puma-breakdown
PUMA-level coverage breakdown for one place.
see path
v2
GET/api/v2/geo/puma-scores/{puma_id}
Scores for one PUMA (Public Use Microdata Area).
see path
v2
GET/api/v2/geo/metro-series/{cbsa_code}
The per-metro detail panels behind the Community page — indicators, events, context, exposure, labor-trends, composition, news, research, panels, impact-trend, trends, proxy, percentiles, baselines (baselines takes ?cbsa_code=) — all under /api/v2/geo/.
v2
All endpoints are read-only GET requests and require no authentication. Examples are relative to the API base URL (https://aidisruption.fyi/api).

Occupations & careers

5 endpoints · 2 v2
Endpoint
What it returns
Example
API
GET/api/career/search?q=
Search for an occupation by title or alias.
v1
GET/api/career/browse
Every tracked occupation with exposure, displacement, and augmentation scores — the source of the Career Exposure Scores download.
v1
GET/api/career/detail/{onet_code}
Full occupation detail with scores.
v1
GET/api/v2/occupations/exposure-ranking
Occupations ranked by exposed employment — observed vs. theoretical.
v2
GET/api/v2/occupation/{code}/tasks
Task-level AI usage shares for one occupation (Anthropic Economic Index, by release and platform).
v2
All endpoints are read-only GET requests and require no authentication. Examples are relative to the API base URL (https://aidisruption.fyi/api).

Adoption

3 endpoints · 3 v2
Endpoint
What it returns
Example
API
GET/api/v2/adoption/national
National AI adoption share from the Census BTOS survey, by era, with margins of error.
v2
GET/api/v2/adoption/sectors
AI adoption by industry sector (latest published wave per cell; suppressed cells are missing, never zero).
v2
GET/api/v2/adoption/state/{state_fips}
AI adoption for one state (2-digit FIPS, e.g. 06 = California).
v2
All endpoints are read-only GET requests and require no authentication. Examples are relative to the API base URL (https://aidisruption.fyi/api).

Scenario tracker

5 endpoints
Endpoint
What it returns
Example
API
GET/api/scenario
Current scenario tracker weights and monitored indicator status.
v1
GET/api/scenario/definitions
The three scenario definitions — A / B / C — with their taglines.
v1
GET/api/scenario/A/provenance
Indicator-level provenance behind Scenario A's current weight.
v1
GET/api/scenario/changelog
Changelog of indicator weight changes.
v1
GET/api/scenario/custom/schema
Schema for custom scenario weights (the future scenario builder).
v1
All endpoints are read-only GET requests and require no authentication. Examples are relative to the API base URL (https://aidisruption.fyi/api).

Community

5 endpoints · 5 v2
Endpoint
What it returns
Example
API
GET/api/v2/community/metros
Every tracked metro with workers, exposure share, and stress tier.
v2
GET/api/v2/community/{geo}/brief
The four headline numbers for one place, with national comparisons and per-card coverage tags.
v2
GET/api/v2/community/{geo}/jobs-by-industry
Jobs by industry for one place (QWI-based panel).
v2
GET/api/v2/community/{geo}/adoption-curve
AI adoption diffusion curves for one place's state, per era.
v2
GET/api/v2/community/industries/exposure
Measured AI exposure by industry, from the latest Anthropic Economic Index release.
v2
All endpoints are read-only GET requests and require no authentication. Examples are relative to the API base URL (https://aidisruption.fyi/api).

Research library

3 endpoints · 1 v2
Endpoint
What it returns
Example
API
GET/api/learn/resources
All research articles with summaries and outlook scores.
v1
GET/api/learn/search?q=
Full-text search across articles.
v1
GET/api/v2/learn/resources
The same catalog, paginated (limit / offset) in the v2 envelope.
v2
All endpoints are read-only GET requests and require no authentication. Examples are relative to the API base URL (https://aidisruption.fyi/api).

National Pulse series & site data

8 endpoints · 4 v2
Endpoint
What it returns
Example
API
GET/api/v2/pulse/national
National Pulse hero tiles — measured exposure, adoption, and impact status.
v2
GET/api/v2/impact/gap-series
The 44-quarter employment-gap series behind the Labor Market Impact sidebar (exposed industries vs. all others, indexed to 100 in 2015Q1).
v2
GET/api/v2/stress/national
National labor market stress composite — current score, tier, components, and the monthly series since 2020.
v2
GET/api/v2/track-record
Published forecast track record and calibration results.
v2
GET/api/methodology
Source registry, geography tiers, confidence legend, and scoring config.
v1
GET/api/freshness
Last successful retrieval per data source (add page=national for the dashboard as-of date).
v1
GET/api/feed/rss
RSS feed of data and research updates.
v1
GET/api/feed/updates
The same recent-updates feed as JSON.
v1
All endpoints are read-only GET requests and require no authentication. Examples are relative to the API base URL (https://aidisruption.fyi/api).

Sample responses

Truncated examples of what a few endpoints return — fetched from the live API on October 6, 2026. Shapes can grow over time; never parse a snippet like these blindly, call the endpoint and read the real payload.

GET /api/v2/pulse/national

{
  "exposure": {
    "metric_id": "OBSE",
    "high_definition": "top 25% of occupations by observed exposure within the release",
    "series": [
      {"vintage_date": "2025-02-10", "share": 0.3683, "measured_employment": 118536180, "n_socs": 523},
      {"vintage_date": "2026-06-26", "share": 0.3463, …}
    ]
  },
  … (the adoption and impact tiles follow)
}

GET /api/geo/metro-impact

[
  {
    "cbsa_code": "41860",
    "name": "San Francisco-San Mateo-Redwood City, CA",
    "stress_score": 65.9,
    "ai_exposure_weight": 0.714,
    "ai_impact_score": 60.4,
    "rank": 1, "scenario": null, …
  },
  {"cbsa_code": "31080", "name": "Los Angeles-Long Beach-Anaheim, CA",
    "stress_score": 70.2, …}, …
]

GET /api/v2/adoption/national

{
  "status": "ok",
  "metric_id": "ADOPAIUSE",
  "series": {
    "era": "current",
    "label": "Current wording (fielded from Nov 2025)",
    "n_waves": 22,
    "waves": [
      {"period_end": "2025-11-16", "value": 17.3, "moe": 0.2961,
        "interval": {"low": 17.0039, "high": 17.5961}, "suppressed": false},
      …
    ]
  }
}

GET /api/career/search?q=software+engineer

{
  "query": "software engineer",
  "tier": "alias",
  "count": 2,
  "matches": [
    {"onet_code": "15-1252.00", "title": "Software Developers",
      "score": 1.0, "match_type": "alias", "match_confidence": "high",
      "soc_major_group": "Computer & Mathematical", …},
    …
  ]
}

GET /api/metrics/L5/observations

[
  {"metric_id": "L5", "geo_id": "cbsa:31080", "period": "2026-09",
    "value": 0.5, "confidence": "computed", …}, …
]

Stay updated

Get notified when new data or research goes up. Pick whichever method works best:

RSS feed

Subscribe to the RSS feed for updates on new indicators, data refreshes, and research articles.

Email notifications

Get an email when the dashboard publishes new data.

Suggested citation

Suggested citation

Rohan, D. AI Labor Disruption Dashboard, methodology v1.0, accessed . https://aidisruption.fyi

Data and methodology licensed under CC BY 4.0; upstream sources retain their own terms.