By the geoamcan data team · Reviewed 2026-10-26
Match the question to the source
QCEW describes covered employment and wages by workplace and industry. LAUS describes unemployment and labor-force estimates. LODES describes residence-workplace relationships; these are different universes, not interchangeable job counts.
Keep time and units visible
Quarterly wages, annual employment and monthly unemployment should retain their periods. Preserve industry, ownership and component fields. A county average wage is not an occupation-specific salary offer.
Use commuting flows deliberately
The employment endpoint supports LODES flows for tracts using native 2020 geography. Specify incoming or outgoing flow direction. Road geometries do not provide live traffic, driving-time estimates or routing.
Start with a verified dataset request
Install the Python requests package in your application environment, then set GEOAMCAN_API_KEY on the server. This bounded example demonstrates retrieval; the sections above describe how to extend the workflow.
import os
import requests
response = requests.get(
'https://api.geoamcan.com/v1/employment',
params={'limit': 1, 'dataset': 'bls', 'geo_type': 'county', 'geoid': '01001', 'metrics': 'avg_annual_pay,annual_avg_emplvl,annual_avg_estabs,total_annual_wages,annual_avg_wkly_wage,oty_annual_avg_emplvl_pct_chg'},
headers={"Authorization": "Bearer " + os.environ["GEOAMCAN_API_KEY"]},
timeout=30,
)
response.raise_for_status()
result = response.json()
print(result)curl --fail --get "https://api.geoamcan.com/v1/employment?limit=1&dataset=bls&geo_type=county&geoid=01001&metrics=avg_annual_pay%2Cannual_avg_emplvl%2Cannual_avg_estabs%2Ctotal_annual_wages%2Cannual_avg_wkly_wage%2Coty_annual_avg_emplvl_pct_chg" \
-H "Authorization: Bearer $GEOAMCAN_API_KEY"Saved response excerpt
{
"source_attribution": {},
"requested_area": {
"geographic_resolution": "county",
"geoid": "01001"
},
"data": [
{
"dataset": "bls",
"source": "Bureau of Labor Statistics",
"release": "QCEW 2025, 2026 published quarters",
"geographic_resolution": "county",
"geoid": "01001",
"geography_vintage": "2026",
"period": "2026-Q1",
"naics": "10",
"component": "ownership:0",
"metrics": {},
"margins_of_error": {},
"flags": {
"ownership": "All ownerships",
"ownership_code": "0",
"industry_classification": "QCEW total/supersector code"
}
}
],
"availability": {
"bls": "available"
},
"next_offset": 1,
"returned_count": 1,
"complete": false,
"snapshot": {
"bls": {
"release_id": 10,
"release": "QCEW 2025, 2026 published quarters",
"fingerprint": "83d495f1b36f81a1375411a2b67bdbee"
}
},
"metric_definitions": {},
"coverage_limitations": {
"bls": []
},
"native_area_contexts": {},
"commuting_flows": []
}Captured 2026-10-26. Excerpt omits pagination credentials and may shorten nested records. Download verified source responses.
Production checklist
- Keep the bearer key out of browser code and logs.
- Preserve source, release, period, geographic vintage and units.
- Handle 401, 422, 429 and temporary server failures explicitly; respect Retry-After.
- Validate coverage and empty results before generating conclusions.
- Use documented pagination and checkpoint contracts for larger workloads.