AI Training Jobs Scraper - Mercor, Alignerr, micro1, Outlier avatar

AI Training Jobs Scraper - Mercor, Alignerr, micro1, Outlier

Pricing

from $1.40 / 1,000 results

Go to Apify Store
AI Training Jobs Scraper - Mercor, Alignerr, micro1, Outlier

AI Training Jobs Scraper - Mercor, Alignerr, micro1, Outlier

Scrape AI training and expert gig listings from Mercor, Alignerr, micro1, Handshake AI and Outlier in one feed: title, hourly pay in USD, domain, eligible countries, skills, posting date and apply link.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Security

Limited permissions

Share

What you get

Thirdwatch portfolio: 8,800+ users across 140+ public Actors, 2M+ records delivered, >95% run success. Explore all Thirdwatch Actors.

One feed of AI training jobs and expert gig listings from the five largest platforms: Mercor jobs, Alignerr jobs, micro1 jobs, Handshake AI fellowship opportunities and Outlier AI jobs. Every listing comes back in the same shape: title, hourly pay in USD, a normalized domain (software engineering, medicine, law, languages and more), eligible countries, skills, posting date and the apply link.

Use it to find well-paid AI trainer and data-annotation work, track pay rates by domain, or power a job board or newsletter for AI training gigs.

Why use this AI training jobs scraper

  • Five platforms, one schema. Stop checking five boards. Mercor, Alignerr, micro1, Handshake AI and Outlier listings share the same fields, so you can sort and filter them together.
  • Pay you can compare. Pay strings like $85-120/hr or Up to $130/hr become numeric payMinUsdHourly / payMaxUsdHourly fields. Per-task, one-time and yearly rates keep their own payPeriod and are never mixed into hourly figures.
  • Clean Alignerr results. Alignerr publishes the same role once per city (5,600+ postings for about 530 distinct roles). By default each role appears once, with postingCount showing how many postings it covers.
  • Normalized domains. Every listing is mapped to one of 11 domains, so "physician", "RN" and "medical coder" all land in medicine-health.
  • Useful filters. Keywords, domains, minimum hourly pay, country eligibility and posting age.
  • Works with empty input. Run it with no settings and you get a balanced sample from all five platforms.

Scrape AI training jobs in minutes

  1. Open the Actor and pick the platforms you want (all five are selected by default).
  2. Optionally add keywords, domains, a minimum hourly rate, a country or a posting window.
  3. Set Max results and click Start. Download the results as JSON, CSV or Excel, or read them through the API.
{
"platforms": ["mercor", "alignerr", "micro1", "handshake", "outlier"],
"domains": ["software-engineering", "stem-math"],
"minHourlyPayUsd": 50,
"postedWithinDays": 30,
"maxResults": 100
}

Input parameters

FieldTypeDescription
platformsarraymercor, alignerr, micro1, handshake, outlier. Default: all five.
keywordsarrayKeep listings whose title, skills or category contain any of these words.
domainsarraysoftware-engineering, stem-math, science, medicine-health, law, finance, language-translation, audio-voice, creative-writing, generalist, other.
minHourlyPayUsdintegerKeep listings whose top hourly rate is at least this. Listings without an hourly rate are excluded.
countrystringCountry name or ISO code (United States, IN, GBR). Drops listings that list eligible countries without it; listings with no stated restriction are kept.
postedWithinDaysintegerKeep listings posted in the last N days. Listings without a posting date are excluded.
maxResultsintegerTotal listings to return. Default 100. Spread evenly across platforms, then topped up from platforms with more listings.
includeDescriptionsbooleanAdd the listing description, trimmed to about 4,000 characters. Default false.
collapseDuplicatesbooleanShow each Alignerr role once (default true). Turn off to get every city posting with its own location.

Output fields

FieldDescription
platformmercor, alignerr, micro1, handshake or outlier.
idThe platform's listing ID.
titleListing title.
urlApply / listing page.
companyNameClient company, when the platform names it. Usually empty because most platforms do not name their AI lab clients.
payMinUsdHourly, payMaxUsdHourlyHourly pay range in USD. Only one end is set when the platform shows "up to" pay. Empty for non-hourly pay.
payRawPay as published, e.g. $85-120/hr, Up to $18/hour, $400/task.
payPeriodhour, task, one-time, month or year.
commitmentE.g. hourly, part-time, full-time, task-based, contract.
hoursPerWeekExpected weekly hours, when published (Mercor).
workArrangementremote, hybrid or onsite, when known.
eligibleCountriesISO 3166 alpha-2 codes of countries the listing is open to. Empty means no restriction was stated.
locationsLocation text as published.
domainNormalized domain (see input list).
sourceCategoryThe platform's own category label.
skillsSkills listed by the platform (micro1, Outlier).
postedAtPosting date, ISO 8601 UTC.
postingCountNumber of platform postings this row covers (Alignerr city duplicates).
descriptionListing description, when includeDescriptions is on.
scrapedAtWhen the listing was collected.

Example result

{
"platform": "mercor",
"id": "list_AAABoZQFI1_FwyFlEzJGgZW-",
"title": "US Patent Attorney — Prosecution & Litigation",
"url": "https://work.mercor.com/jobs/list_AAABoZQFI1_FwyFlEzJGgZW-",
"companyName": null,
"payMinUsdHourly": 110.0,
"payMaxUsdHourly": 125.0,
"payRaw": "$110-125/hour",
"payPeriod": "hour",
"commitment": "hourly",
"hoursPerWeek": 20,
"workArrangement": "remote",
"eligibleCountries": ["US"],
"locations": ["Remote"],
"domain": "law",
"sourceCategory": "Law",
"skills": [],
"postedAt": "2026-10-31T22:12:07Z",
"postingCount": 1,
"description": null,
"scrapedAt": "2026-11-02T09:00:00Z"
}

Common use cases

  • Job seekers and AI trainers: find the best-paid remote AI training work in your field and country, and get new listings daily with a schedule.
  • Job boards and newsletters: feed a niche "AI trainer jobs" board or weekly digest from one dataset.
  • Pay benchmarking: compare hourly rates for coding, medicine, law or language experts across platforms.
  • Recruiting and market research: see which domains AI labs are hiring experts for, and how that changes week to week.

Compared to alternatives

  • vs single-platform scrapers: one run covers Mercor, Alignerr, micro1, Handshake AI and Outlier with a shared schema, so there is nothing to merge.
  • vs building your own: no endpoints or page changes to track across five sites; you consume one dataset.
  • Pay per result: you pay only for listings returned, so a run that finds nothing costs nothing.

Limitations

  • Outlier shows a small, location-dependent set of open roles (often fewer than 10). The Actor checks every location Outlier offers, but the listings available can still differ from what you see in your own browser.
  • Handshake AI needs one page per listing, so runs that include it take a little longer. Handshake publishes only the top hourly rate, not a range, and id is the opportunity page slug.
  • Alignerr list results do not include the client city; with collapseDuplicates on, locations shows Remote and postingCount shows how many city postings were merged. Turn it off for per-city rows.
  • micro1 does not publish descriptions in its job feed, so description stays empty for micro1 rows.
  • Pay: "up to" rates fill only payMaxUsdHourly. Non-hourly pay (per task, one-time, yearly) is kept in payRaw / payPeriod and left out of the hourly fields.
  • Domains are assigned from the title, the platform's category and the listed skills. A few multi-discipline roles may land in a neighbouring domain.
  • If one platform cannot be reached during a run, the Actor logs a warning and returns results from the others.

FAQ

Do I need an account or cookies?

No. The Actor reads public listings only. There is no login to configure.

How fresh is the data?

Each run reads the live listings at that moment. Schedule the Actor daily to track new roles.

Can I get only new listings?

Set postedWithinDays to 1 or 2 and run it on a daily schedule.

What happens when nothing matches my filters?

The run finishes with an empty dataset and a status message suggesting wider filters. You are not charged for empty results.

Last verified: 2026-11

More scrapers at thirdwatch.dev.