AITraining.jobs

Every AI training job in one place, with real hourly pay

Hosted MCP Server

npx add-mcp 'https://aitraining.jobs/api/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Open data on AI training jobs and pay

The numbers behind AITraining.jobs, free to use: the AI training roles open today by kind of work and platform, and the hourly pay they advertise. Plain JSON and CSV over HTTPS, with no key and no sign-up, readable from any website, refreshed every day.

open roles today

Data updated 6 hrs ago

Endpoints

Three files, one GET request each

Each file is built from the same daily read of the platforms' own job feeds as the pages that show it, so the data and the site never disagree.

Open roles

GET /roles.json

How many AI training roles are open right now, by kind of work and by platform, with how many were first listed in the last 7 days and in each recent week. Counts are aggregates: the file does not list individual roles.

name, description

What the dataset is.

source

The page that renders the same numbers.

license

CC BY 4.0.

measurement_technique

How the figures are measured.

updated

When the job feeds were last read (ISO 8601, UTC).

temporal_coverage

The day the figures describe (YYYY-MM-DD). Cite this date.

totals.open_roles

Open roles across every platform read.

totals.platforms_live

Platforms with at least one open role.

totals.new_last_7d

Still-open roles first listed in the last 7 days.

recent_market_momentum.weekly[]

Roles first listed in each recent ISO week (week_start, new_roles), and their average.

open_by_work_type[]

slug, label, open_count, and the pay fields below where at least three platforms advertise a rate (otherwise null).

open_by_platform[]

slug, name, open_count.

Pay by kind of work

GET /pay.json

The hourly pay AI training roles advertise, for each kind of work whose rate is advertised by at least three platforms, so one platform's rate card is never published as a market rate.

name, description

What the dataset is.

source

The page that renders the same numbers.

license

CC BY 4.0.

measurement_technique

How the figures are measured.

updated

When the job feeds were last read (ISO 8601, UTC).

temporal_coverage

The day the figures describe (YYYY-MM-DD). Cite this date.

pay_by_work_type[].slug, label

The kind of work (for example AI evaluation, coding, multilingual).

currency, unit

USD, per hour.

median

Median advertised hourly rate.

typical_low, typical_high

25th and 75th percentile of advertised rates.

rate_samples

Distinct advertised rates measured, after removing relistings.

platforms

Platforms advertising those rates.

open_total, unpriced

Open roles of that kind, and how many state no rate.

Pay by kind of work, as a spreadsheet

GET /pay.csv

The same rows as /pay.json, downloaded as a dated CSV file for spreadsheets.

Example

curl https://aitraining.jobs/roles.json

const res = await fetch("https://aitraining.jobs/pay.json");
const { pay_by_work_type } = await res.json();

Research reports

Every figure in the research reports

Each research report downloads whole or one figure at a time. Add?edition=YYYY-MM for a frozen monthly edition and?figure= with a figure's id for one table. The CSV has one line per published value: figure, row, measure, unit and value.

For AI assistants

Search the jobs from Claude, ChatGPT or any MCP client

The same data is a remote MCP server: an AI assistant can search the open roles and read the pay figures, and every role it finds links back here to apply. No key, no sign-up.

Server URL (Streamable HTTP)

https://aitraining.jobs/api/mcp

search_ai_training_jobs

Open roles matching keywords, kind of work, platform, country or a minimum hourly rate, each with its pay and a link to apply.

get_ai_training_pay

Median and typical hourly pay by kind of work (the /pay.json figures).

get_ai_training_market

Open roles by kind of work and platform, optionally for one country (the /roles.json figures).

In Claude, add it under Settings, Connectors, Add custom connector. In clients configured by file (Cursor, VS Code, Claude Code), add:

{
  "mcpServers": {
    "aitraining-jobs": { "url": "https://aitraining.jobs/api/mcp" }
  }
}

Terms

Free to reuse, with credit

  • License: CC BY 4.0. Credit AITraining.jobs, link the pay report, and cite the date in temporal_coverage.
  • Access: no API key, HTTPS only, CORS enabled (any origin may read the files from the browser). OpenAPI description: /openapi.json.
  • Freshness: the feeds are read once a day, so fetching more often returns the same figures. Cache for a few hours.
  • Method: how rates are counted, which roles are excluded and why a rate needs three platforms is on how we compile pay.

Need a cut by country, platform or kind of work, or a longer history? Email hello@aitraining.jobs.