---
title: "Labor Market Data API: Live Job Postings and Hiring Signals | Metaintro"
canonical: "https://www.metaintro.com/developers"
language: "en"
author: "Metaintro"
---

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.

[Request a data sample(opens in new tab)](mailto:api@metaintro.com?subject=Metaintro%20hiring%20data%20sample)[Start free with an API key](/settings/api-keys)
Developers start free. Institutions get daily extracts, hourly updates on listed companies, and history under a data agreement.

Live · self-serve
Request

POST/api/v1/jobs/search
Parameters

**query**
: "data engineer"

**location**
: "Austin, TX"

**remote**
: false

**limit**
: 20

200 OKSample response

```
{  "data": {    "jobs": [      {        "title": "Senior Data Engineer",        "companyName": "Example Health",        "locations": ["Austin, TX"],        "workplaceType": "hybrid",        "salary": {          "currency": "USD",          "minimumAmount": 145000,          "maximumAmount": 175000,          "paymentFrequency": "yearly"        },        "socCode": "15-1243",        "skills": ["Python", "Spark", "dbt"],        "postedOn": "2026-10-06",        "lastSeenAt": "2026-10-09T05:40:00Z",        "url": "https://careers.example.com/jobs/4821"      }    ],    "total": 1284,    "totalCountIsExact": false,    "searchDegraded": false  },  "meta": { "requestId": "req_7f3a9c21" }}
```

50M+

Postings tracked since 2024

10M+

Live postings

170K+

Employers

Hourly

Updates on listed companies, never rewritten

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 Live Search 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 key](/settings/api-keys)
- ### Hiring signals By agreement Employer-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)](mailto:api@metaintro.com?subject=Metaintro%20hiring%20data%20sample)
- ### Layoffs feed Live Every 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 feed](/layoffs)
- ### Agent access Live Connect 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](/developers/mcp)

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.

```
You have access to Metaintro hiring data.1. Read https://www.metaintro.com/llms.txt for every machine-readable surface.2. For a company, GET https://www.metaintro.com/company/{slug}/summary.json   for open roles, hiring history, salary bands, and layoffs.3. For live postings, POST https://www.metaintro.com/api/v1/jobs/search   with the header "Authorization: Bearer $METAINTRO_API_KEY"   and a body like {"query": "...", "location": "...", "limit": 20}.4. For layoffs, GET https://www.metaintro.com/layoffs/data.json.5. 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.

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.

1. 01### Send the search POST the search with no credentials. POST /v1/jobs/search
2. 02### Read the price The API answers 402 Payment Required and puts the exact price in the PAYMENT-REQUIRED header. 402 · PAYMENT-REQUIRED
3. 03### Sign and retry Your wallet signs a USDC authorization for that amount, and your client sends the search again with it. PAYMENT-SIGNATURE
4. 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.

```
BODY='{"role": "data engineer", "locations": [{"city": "Austin", "state": "TX"}], "maxResults": 20}'curl -s https://agent-api.metaintro.workers.dev/v1/quotes/job-search \  -H "Content-Type: application/json" -d "$BODY"curl -s -o /dev/null -D - https://agent-api.metaintro.workers.dev/v1/jobs/search \  -H "Content-Type: application/json" -d "$BODY" \  | tr -d '\r' \  | awk 'tolower($1) == "payment-required:" { print $2 }' \  | 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

1. Jobs come only from employers' own career sites and official job exchanges. No staffing-agency reposts.
2. Each job appears once, even when we find it in more than one place.
3. When we can't establish a fact, the field says unknown instead of guessing.
4. 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 account](/settings/agents/connect)

### Discovery documents

- [/llms.txtA plain-text guide written for agents(opens in new tab)](https://agent-api.metaintro.workers.dev/llms.txt)
- [/openapi.jsonThe full OpenAPI 3.1 contract(opens in new tab)](https://agent-api.metaintro.workers.dev/openapi.json)
- [/v1/pricingThe current price per search(opens in new tab)](https://agent-api.metaintro.workers.dev/v1/pricing)
- [/v1/capabilitiesWhat the API can do right now(opens in new tab)](https://agent-api.metaintro.workers.dev/v1/capabilities)
- [/v1/coverageWhat the data covers, and its known limits(opens in new tab)](https://agent-api.metaintro.workers.dev/v1/coverage)
- [/v1/samples/job-searchA sample response, free of charge(opens in new tab)](https://agent-api.metaintro.workers.dev/v1/samples/job-search)
- [/.well-known/mcp/server-card.jsonThe MCP server card for registries and clients(opens in new tab)](https://agent-api.metaintro.workers.dev/.well-known/mcp/server-card.json)
- agent-api.metaintro.workers.dev Every document and endpoint lives on this host.

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 pages](/companies)
- [### Sector and regional demand Follow demand by occupation, industry, and metro as it builds or fades. Explore demand by role and city](/jobs)
- [### Restructuring and layoff risk See when hiring stalls, and match it to layoffs and the WARN notices behind them. Open the layoffs tracker](/layoffs)
- [### Private-company coverage See inside companies with no public filings through their own career pages. Request private-company coverage(opens in new tab)](mailto:api@metaintro.com?subject=Metaintro%20hiring%20data%20sample)

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

1. Each day is stored once and never rewritten, so a backtest sees only what was known that day.
2. Posting history goes back to 2024, and daily point-in-time snapshots start in September 2025.
3. A posting is a plan, not a hire. We report removals and time open so you can tell short-lived roles from evergreen ones.
4. Postings come from employer career sites, public employment services, and job boards, and each one links back to where we found it.

[Request a data sample(opens in new tab)](mailto:api@metaintro.com?subject=Metaintro%20hiring%20data%20sample)

Monthly report

[State of the WorkforceOur monthly read on pay, demand, and layoffs, built from this dataset. See what it can show before you license it.Read the September report](/blog/state-of-the-workforce-september-2026)
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.

[Request a data sample(opens in new tab)](mailto:api@metaintro.com?subject=Metaintro%20hiring%20data%20sample)[Get an API key](/settings/api-keys)
1. 01Self-serve API key
2. 02Sample data on your tickers
3. 03Daily and hourly extracts by agreement

[Return to navigation](#main-navigation)