alternatives · mturk
MTurk alternative: moving your HITs to Rapidata
Amazon Mechanical Turk permanently closed on September 30, 2026 (mturk.com/help). If your HITs asked people to classify, compare or rate something, the same input CSV runs as one Rapidata job: 5,000 HITs with 10 answers each is 50,000 responses for $200, back within minutes.
- $4per 1,000 responses
- 300,000+responses per hour
- 190+countries
01fit
Best for / not for
Rapidata is best for
- Labeling datasets with many different people per item: classification, comparison, rating, free text.
- Moving an existing HIT pipeline: keep your input CSV, swap the HIT API for the Python SDK.
Rapidata is not for
- Expert or long-form data: SFT demonstrations, reasoning traces, specialist review.
- HITs that linked out to your own survey or web app. A research panel such as Prolific accepts external study links.
- Paying bonuses to, or messaging, individual workers.
02at a glance
Side by side
| Rapidata | Amazon Mechanical Turk | |
|---|---|---|
| Status | Available, self-serve. | “Amazon Mechanical Turk permanently closed on September 30, 2026.”source: mturk.com/help |
| Price | $4 per 1,000 responses, listed on the pricing page. | Worker reward set by the requester, plus a 20% fee on rewards and bonuses and another 20% for HITs with 10 or more assignments (last published fee schedule).source: mturk.com/pricing (archived 2025-05-04) |
| Turnaround | Over 300,000 responses per hour, so a 50,000-response batch finishes in minutes. | Depended on your reward and the worker pool; no published figure. |
| Task interface | Rendered by Rapidata; no HIT layout to build or host. | HITs “made available for Workers to find and accept on the Amazon Mechanical Turk website.”source: AWS MTurk API reference: CreateHIT (archived) |
03hit mapping
How HIT fields map to a Rapidata job
- HIT (one unit of work on one input row) becomes a datapoint in a job definition.
- MaxAssignments (how many workers complete a HIT) becomes
responses_per_datapoint. Addconfidence_thresholdto stop early once the answer is clear. - Reward has no equivalent. You pay $4 per 1,000 responses; annotators are app users who solve tasks instead of watching ads and are not paid per task.
- QualificationRequirements become a custom audience: instead of a qualification test, you add examples with known answers and only people who get them right work on your job. Locale-style rules become a country or language filter on that audience.
- RequesterAnnotation and your own IDs go in
private_metadata, which comes back with the results and is never shown to annotators.
Approve and reject steps disappear: every annotator carries a running accuracy score from gold-standard questions, and each response arrives tagged with that score, so you can weight or filter answers afterwards.
04migration steps
Migrating a HIT batch in four steps
- Sign up at app.rapidata.ai; new accounts get $20 in credit, enough for 5,000 responses.
- Run
pip install -U rapidataand hand your HIT layout and input CSV to your coding agent (Claude Code, Codex or Cursor). The SDK ships an agent skill, so the agent sets up the job in a couple of minutes. - Prefer to write it yourself? Radio buttons are a classification job, “which is better” is a compare job, text boxes are a free-text job. The code below covers the first.
- Run a pilot of about 100 rows, including some whose correct answer you know, check those answers, then run the full batch.
05sdk
What it looks like in code
A HIT batch that asked workers a yes/no question about a product photo, rewritten as one Rapidata job. Field names follow the CreateHIT API.
migrate_from_mturk.py
# pip install -U rapidata
import csv
from rapidata import RapidataClient
client = RapidataClient()
audience = client.audience.get_audience_by_id("global")
# The input CSV you used to batch-create HITs, one row per HIT
with open("hit_input.csv") as f:
rows = list(csv.DictReader(f))
job_definition = client.job.create_classification_job_definition(
name="Product photo check (migrated from MTurk)",
instruction="Does this photo show the product clearly?", # HIT Title / Description
answer_options=["Yes", "No"], # radio buttons in your HIT layout
datapoints=[row["image_url"] for row in rows], # one datapoint per HIT
responses_per_datapoint=10, # MaxAssignments
)
job = audience.assign_job(job_definition)
results = job.get_results()FAQ
How much does it cost to rerun an MTurk batch on Rapidata?
5,000 HITs with 10 assignments each are 50,000 responses, which cost $200 at the list price of $4 per 1,000. There is no separate worker reward or bonus.
Sources
Competitor facts were last checked against these pages on 2026-11-06.