API Documentation
Public REST API for accessing AI displacement risk data. Base URL: https://api.takeovertracker.com/api/v1
Occupations
/occupationsList occupations with optional search.
Parameters
q(string)— Search query for titlelimit(int)— Results per page (1-200, default 50)offset(int)— Pagination offsetResponse
{
"data": [
{
"id": 1,
"soc_code": "15-1252.00",
"title": "Software Developers",
"slug": "software-developers",
"job_zone": 4,
"description": "..."
}
],
"count": 50,
"limit": 50,
"offset": 0
}/occupations/{soc_code}Get full occupation detail including risk score, labor data, and protective factors.
Response
{
"id": 1,
"soc_code": "15-1252.00",
"title": "Software Developers",
"labor_data": { "median_annual_wage": 132270, ... },
"risk_score": { "final_score": 52.3, "risk_tier": "high", ... },
"protective_factors": { "creativity": 0.68, ... }
}/occupations/{soc_code}/tasksGet task breakdown with AI capability scores and risk scores per task.
Response
{
"soc_code": "15-1252.00",
"title": "Software Developers",
"tasks": [
{
"description": "Analyze user needs...",
"task_category": "non_routine_analytical",
"ai_capability_score": 65.0,
"task_risk_score": 53.0,
"time_fraction": 0.15
}
]
}/occupations/{soc_code}/riskGet risk score, protective factors, and skill gaps for an occupation.
Response
{
"soc_code": "15-1252.00",
"title": "Software Developers",
"risk_score": {
"final_score": 52.3,
"risk_tier": "high",
"displacement_year_low": 2032,
"displacement_year_high": 2035,
"confidence": "high"
},
"protective_factors": { ... },
"skill_gaps": [ ... ]
}/occupations/{soc_code}/votesGet community vote statistics for an occupation.
Response
{
"total": 342,
"agree": 267,
"too_high": 51,
"too_low": 24,
"agree_pct": 78.1,
"too_high_pct": 14.9,
"too_low_pct": 7.0
}Industries
/industriesList industries, optionally filtered by NAICS hierarchy level.
Parameters
level(int)— NAICS level: 2 (sector), 3 (subsector), 4 (industry group)Response
{
"data": [
{
"id": 1,
"naics_code": "51",
"title": "Information",
"level": 2
}
],
"count": 20
}/industries/{naics_code}Get industry detail with occupations in the industry.
Response
{
"naics_code": "51",
"title": "Information",
"occupations": [ ... ]
}Personal Assessment
/displacement/assessCompute a personalized displacement risk score based on personal factors.
Parameters
soc_code(string)— O*NET SOC codepersonal_factors(object)— Personal factor key-value pairsResponse
{
"soc_code": "15-1252.00",
"title": "Software Developers",
"base_score": 52.3,
"personalized_score": 44.1,
"total_adjustment": -8.2,
"adjustments": {
"ai_proficiency": -8.0,
"years_experience": -3.0,
"client_relationship_depth": -6.0,
...
},
"risk_tier": "medium"
}/displacement/factorsGet all available personal factor options and their score adjustments.
Response
{
"factors": {
"years_experience": [
{ "value": "0-2", "label": "0-2 years", "adjustment": 5.0 },
{ "value": "20+", "label": "20+ years", "adjustment": -5.0 }
],
...
}
}Code Examples
curl
# Search occupations
curl "https://api.takeovertracker.com/api/v1/occupations?q=software&limit=5"
# Get risk score
curl "https://api.takeovertracker.com/api/v1/occupations/15-1252.00/risk"
# Personalized assessment
curl -X POST "https://api.takeovertracker.com/api/v1/displacement/assess" \
-H "Content-Type: application/json" \
-d '{"soc_code":"15-1252.00","personal_factors":{"ai_proficiency":"advanced"}}'JavaScript (fetch)
const BASE = "https://api.takeovertracker.com/api/v1";
// Search occupations
const res = await fetch(`${BASE}/occupations?q=nurse&limit=10`);
const data = await res.json();
// Get risk details
const risk = await fetch(`${BASE}/occupations/29-1141.00/risk`);
const riskData = await risk.json();
console.log(riskData.risk_score.final_score);Python (requests)
import requests
BASE = "https://api.takeovertracker.com/api/v1"
# Search
r = requests.get(f"{BASE}/occupations", params={"q": "accountant"})
occupations = r.json()["data"]
# Risk score
r = requests.get(f"{BASE}/occupations/13-2011.00/risk")
print(r.json()["risk_score"]["final_score"])Embed Widget
Embed a compact risk card on your site using an iframe:
<iframe src="https://takeovertracker.com/embed/software-developers" width="320" height="280" frameborder="0" style="border-radius: 12px; border: 1px solid #e5e7eb;" ></iframe>
Replace software-developers with any occupation slug.