Hiring data API · 170K+ employers
The labor market, as a live data feed
Track how 170,000+ employers hire, day by day: postings opened and pulled, pay, remote mix, and layoffs, with SEC tickers where they match.
Developers start free. Institutions get daily extracts, hourly updates on listed companies, and history under a data agreement.
Request
Parameters
- query
- "data engineer"
- location
- "Austin, TX"
- remote
- false
- limit
- 20
1{2 "data": {3 "jobs": [4 {5 "title": "Senior Data Engineer",6 "companyName": "Example Health",7 "locations": ["Austin, TX"],8 "workplaceType": "hybrid",9 "salary": {10 "currency": "USD",11 "minimumAmount": 145000,12 "maximumAmount": 175000,13 "paymentFrequency": "yearly"14 },15 "socCode": "15-1243",16 "skills": ["Python", "Spark", "dbt"],17 "postedOn": "2026-10-06",18 "lastSeenAt": "2026-10-09T05:40:00Z",19 "url": "https://careers.example.com/jobs/4821"20 }21 ],22 "total": 1284,23 "totalCountIsExact": false,24 "searchDegraded": false25 },26 "meta": { "requestId": "req_7f3a9c21" }27}50M+M+
Postings tracked since 2024
10M+M+
Live postings
170K+K+
Employers
Hourly
Updates on listed companies, never rewritten
[ 01 / 06 ] · Products
From one API call to a daily feed
Same dataset everywhere: query it live, license the daily history, or hand it to an agent.
Jobs API
LiveSearch live postings by keyword, place, and remote status. Each result carries the employer, locations, workplace type, salary where disclosed, an SOC occupation code, and when the role was posted and last seen.
POST /api/v1/jobs/search · 60 requests a minute
Get an API keyHiring signals
By agreementEmployer-level daily counts of live, new, and removed postings, how long roles stay open, and the remote share, with SEC tickers where a company matches exactly. Built for investment research.
Daily CSV extracts, hourly for listed companies · by agreement
Request a sample(opens in new tab)Layoffs feed
LiveEvery layoff, store closure, and return-to-office mandate we track, one row per announcement, with headcount where a source states it and links to the source and WARN notice where verified.
JSON, CSV, and RSS · public
Browse the layoffs feedAgent access
LiveConnect Claude, ChatGPT, Cursor or any MCP client to live jobs, employers and your own job search. Searching needs no sign-in.
MCP · free
Connect an agent
[ 02 / 06 ] · Built for agents
Give your research agent live hiring data.
Every surface is machine-readable. Paste one prompt and your agent can pull live postings, company hiring summaries, and layoffs, with a source to cite for every figure.
1You have access to Metaintro hiring data.231. Read https://www.metaintro.com/llms.txt for every machine-readable surface.42. For a company, GET https://www.metaintro.com/company/{slug}/summary.json5 for open roles, hiring history, salary bands, and layoffs.63. For live postings, POST https://www.metaintro.com/api/v1/jobs/search7 with the header "Authorization: Bearer $METAINTRO_API_KEY"8 and a body like {"query": "...", "location": "...", "limit": 20}.94. For layoffs, GET https://www.metaintro.com/layoffs/data.json.105. Cite Metaintro and link the canonicalUrl for every figure you use.- Authentication
- Bearer API key
- Rate limit
- 60 searches a minute
- Format
- JSON
- Errors
- Typed error codes
Machine-readable everywhere
/company/{slug}/summary.json
Open roles, hiring history, salary bands, and layoffs for any company.
/jobs/{role}/locations/{city}/data.json
Counts, salary percentiles, and top employers for a role in a city.
/layoffs/data.json · .csv · rss.xml
Every tracked layoff as JSON, CSV, or RSS.
{any page}.md
Any public page as Markdown: append .md to the URL.
/llms.txt
An index of every machine-readable surface, written for agents.
POST /api/v1/jobs/search
Live job search with an API key, 60 requests a minute.
[ 03 / 06 ] · Pay per call
Pay per call. No API key.
Your agent searches live jobs and pays $0.01 per search in USDC on Base, using the x402 payment standard. No account, no API key, no subscription.
- 01
Send the search
POST the search with no credentials.
POST /v1/jobs/search
- 02
Read the price
The API answers 402 Payment Required and puts the exact price in the PAYMENT-REQUIRED header.
402 · PAYMENT-REQUIRED
- 03
Sign and retry
Your wallet signs a USDC authorization for that amount, and your client sends the search again with it.
PAYMENT-SIGNATURE
- 04
Get the jobs
The jobs come back with a payment receipt in the PAYMENT-RESPONSE header.
200 · PAYMENT-RESPONSE
Price
$0.01per search
- Up to 50 jobs a page
- Never charged when a search returns no jobs or fails
- Get the exact price first, free, from POST /v1/quotes/job-search
- Paid in USDC on Base with x402
Any x402 client works, including @x402/fetch, x402-axios, Coinbase AgentKit, and CDP wallets.
1BODY='{"role": "data engineer", "locations": [{"city": "Austin", "state": "TX"}], "maxResults": 20}'23curl -s https://agent-api.metaintro.workers.dev/v1/quotes/job-search \4 -H "Content-Type: application/json" -d "$BODY"56curl -s -o /dev/null -D - https://agent-api.metaintro.workers.dev/v1/jobs/search \7 -H "Content-Type: application/json" -d "$BODY" \8 | tr -d '\r' \9 | awk 'tolower($1) == "payment-required:" { print $2 }' \10 | base64 -d$ npm i @x402/fetch @x402/evm viem$ pip install "x402[httpx,evm]"
For MCP, add the server URL to your client. Five tools are free: get_capabilities, get_coverage, get_pricing, sample_job_search, and quote_job_search. The paid search_live_jobs tool needs a client that can pay with x402.
What every job carries
| job.canonicalUrl | The employer's own careers-page URL |
|---|---|
| job.postedOn · status · verificationState | Posted date, active status, and verification state |
| freshness.class | How recently we saw it, such as in the last 24 hours |
| company.industries[] | Company industries, each with an evidence class and a confidence score |
| locations[].precision | Each location and how precise it is: city, region, or country |
| matchEvidence | Why it matched: evidence for role, location, and industry |
What you can rely on
Jobs come only from employers' own career sites and official job exchanges. No staffing-agency reposts.
Each job appears once, even when we find it in more than one place.
When we can't establish a fact, the field says unknown instead of guessing.
Listed in the Coinbase x402 Bazaar, so x402 clients can find it.
Looking to connect your own job search to Claude or ChatGPT?
Connect your Metaintro accountDiscovery documents
- /llms.txtA plain-text guide written for agents(opens in new tab)
- /openapi.jsonThe full OpenAPI 3.1 contract(opens in new tab)
- /v1/pricingThe current price per search(opens in new tab)
- /v1/capabilitiesWhat the API can do right now(opens in new tab)
- /v1/coverageWhat the data covers, and its known limits(opens in new tab)
- /v1/samples/job-searchA sample response, free of charge(opens in new tab)
- /.well-known/mcp/server-card.jsonThe MCP server card for registries and clients(opens in new tab)
agent-api.metaintro.workers.dev
Every document and endpoint lives on this host.
[ 04 / 06 ] · For hedge funds and asset managers
Hiring is a leading indicator. Measure it directly.
Companies post roles before they hire and pull them when plans change. We snapshot both every day, employer by employer, and never rewrite history.
Pre-earnings hiring checks
Compare a company's hiring momentum with its own history and its peers ahead of the print.
Browse company hiring pagesSector and regional demand
Follow demand by occupation, industry, and metro as it builds or fades.
Explore demand by role and cityRestructuring and layoff risk
See when hiring stalls, and match it to layoffs and the WARN notices behind them.
Open the layoffs trackerPrivate-company coverage
See inside companies with no public filings through their own career pages.
Request private-company coverage(opens in new tab)
Illustrative sample
What a daily row holds
| date | Snapshot date |
|---|---|
| employer | Employer name and Metaintro ID |
| ticker | SEC ticker, exact matches only |
| naics | NAICS industry |
| live | Live postings |
| new_24h | New in the last 24 hours |
| removed_24h | Removed in the last 24 hours |
| median_days_open | Median days open |
| remote_share | Remote share |
| soc_mix | Mix by SOC occupation |
Point-in-time by design
Each day is stored once and never rewritten, so a backtest sees only what was known that day.
Posting history goes back to 2024, and daily point-in-time snapshots start in September 2025.
A posting is a plan, not a hire. We report removals and time open so you can tell short-lived roles from evergreen ones.
Postings come from employer career sites, public employment services, and job boards, and each one links back to where we found it.
[ 05 / 06 ] · FAQ
Questions from developers and data teams
What can I use without talking to sales?
The jobs API and the layoffs feed. Create a free key under Settings, then API Keys, and search live postings at up to 60 requests a minute. The layoffs feed is public JSON, CSV, and RSS.
How do we license the hiring signals?
Under a data agreement. We start with a sample for the employers or sectors you cover, then deliver daily extracts, plus an hourly file of the postings opened and closed at listed companies.
How far back does the data go?
Posting history goes back to 2024. Daily point-in-time snapshots start in September 2025, and each day is stored as it was captured and never revised.
Where does the data come from?
Employer career sites, public employment services, and job boards, refreshed daily. Every posting links back to where we found it.
Which formats do you deliver?
JSON from the API; JSON, CSV, and RSS for the layoffs feed; and CSV extracts for hiring signals and bulk history.
Can we redistribute the data?
Redistribution and display rights are set in each data agreement. Tell us how you plan to use the data and we'll scope it with you.
Do you have an MCP server?
Yes, and it is free. Point any MCP client at https://www.metaintro.com/api/mcp/public to search jobs and employers with no sign-in, or at https://www.metaintro.com/api/mcp to sign in and work on your own job search. Setup and every tool are on the MCP page.
What is x402?
An open payment standard built on HTTP 402 Payment Required. The API answers an unpaid request with its price, your client signs a USDC payment with its wallet, and the retried request returns the results. Any x402 client works, such as @x402/fetch, x402-axios, Coinbase AgentKit, or a CDP wallet.
What wallet do I need?
Any Ethereum-compatible wallet that holds USDC on Base, such as a private key loaded with viem or eth-account, a Coinbase CDP wallet, or AgentKit. Your wallet signs a payment authorization; you never send a transaction yourself.
When am I charged?
Only when a search returns at least one job. A search that returns no jobs or fails costs nothing. Each page of up to 50 jobs costs $0.01, and the free quote endpoint tells you the exact price before you pay.
For investors and data teams
Backtest it on the companies you cover.
Tell us the tickers, sectors, or markets you cover. We'll send a sample of daily hiring data you can backtest before you commit.
- 01
Self-serve API key
- 02
Sample data on your tickers
- 03
Daily and hourly extracts by agreement