AI Training Jobs Scraper - Mercor, Alignerr, micro1, Outlier
Pricing
from $1.40 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Security
Limited permissionsShare
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/hrorUp to $130/hrbecome numericpayMinUsdHourly/payMaxUsdHourlyfields. Per-task, one-time and yearly rates keep their ownpayPeriodand 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
postingCountshowing 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
- Open the Actor and pick the platforms you want (all five are selected by default).
- Optionally add keywords, domains, a minimum hourly rate, a country or a posting window.
- 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
| Field | Type | Description |
|---|---|---|
platforms | array | mercor, alignerr, micro1, handshake, outlier. Default: all five. |
keywords | array | Keep listings whose title, skills or category contain any of these words. |
domains | array | software-engineering, stem-math, science, medicine-health, law, finance, language-translation, audio-voice, creative-writing, generalist, other. |
minHourlyPayUsd | integer | Keep listings whose top hourly rate is at least this. Listings without an hourly rate are excluded. |
country | string | Country name or ISO code (United States, IN, GBR). Drops listings that list eligible countries without it; listings with no stated restriction are kept. |
postedWithinDays | integer | Keep listings posted in the last N days. Listings without a posting date are excluded. |
maxResults | integer | Total listings to return. Default 100. Spread evenly across platforms, then topped up from platforms with more listings. |
includeDescriptions | boolean | Add the listing description, trimmed to about 4,000 characters. Default false. |
collapseDuplicates | boolean | Show each Alignerr role once (default true). Turn off to get every city posting with its own location. |
Output fields
| Field | Description |
|---|---|
platform | mercor, alignerr, micro1, handshake or outlier. |
id | The platform's listing ID. |
title | Listing title. |
url | Apply / listing page. |
companyName | Client company, when the platform names it. Usually empty because most platforms do not name their AI lab clients. |
payMinUsdHourly, payMaxUsdHourly | Hourly pay range in USD. Only one end is set when the platform shows "up to" pay. Empty for non-hourly pay. |
payRaw | Pay as published, e.g. $85-120/hr, Up to $18/hour, $400/task. |
payPeriod | hour, task, one-time, month or year. |
commitment | E.g. hourly, part-time, full-time, task-based, contract. |
hoursPerWeek | Expected weekly hours, when published (Mercor). |
workArrangement | remote, hybrid or onsite, when known. |
eligibleCountries | ISO 3166 alpha-2 codes of countries the listing is open to. Empty means no restriction was stated. |
locations | Location text as published. |
domain | Normalized domain (see input list). |
sourceCategory | The platform's own category label. |
skills | Skills listed by the platform (micro1, Outlier). |
postedAt | Posting date, ISO 8601 UTC. |
postingCount | Number of platform postings this row covers (Alignerr city duplicates). |
description | Listing description, when includeDescriptions is on. |
scrapedAt | When 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
idis the opportunity page slug. - Alignerr list results do not include the client city; with
collapseDuplicateson,locationsshowsRemoteandpostingCountshows how many city postings were merged. Turn it off for per-city rows. - micro1 does not publish descriptions in its job feed, so
descriptionstays empty for micro1 rows. - Pay: "up to" rates fill only
payMaxUsdHourly. Non-hourly pay (per task, one-time, yearly) is kept inpayRaw/payPeriodand 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.
Related guides and Actors
- Upwork Jobs Scraper — Thirdwatch
- LinkedIn Jobs Scraper — Thirdwatch
- Wellfound Scraper — Thirdwatch
- RemoteOK Scraper — Thirdwatch
Last verified: 2026-11
More scrapers at thirdwatch.dev.