Skip to content
HumanSourcer

You're already listed here. Make it correct.

HumanSourcer is a directory of networks that pay people for AI-training, evaluation, annotation and other human-data work. We read each provider's public listing pages once a day, publish ownership and status with a link to a public source for every claim, and compute pay figures from the listings themselves. If you run one of these networks, this page is how you send us a feed, point us at an API you already have, ask to be added, or tell us something is wrong.

What this isn't: a traffic offer. Sending a feed doesn't come with a promise of clicks, placement or exposure - how the site is funded is on the record. The reason to send a feed is that your listings stop depending on our reading of your website. Accuracy and control, not volume.

And nobody is doing this yet. The ingest path was built in August 2026 and no provider currently supplies a feed - you would be the first.

Providers tracked
74
every ownership and status claim linked to a public source
Live listings indexed
6,551
from 34 of them right now
Listings last refreshed
2026-09-03
re-read from public pages every 24 hours

What we already publish about you

Operating parent and worker-facing brand

Which company actually owns the brand, and how the two are related - with a link to a public source for that claim. The registry schema makes that evidence URL mandatory; an ownership claim without one cannot be stored.

Portal type, access model, geography, specialization

How people get in (open signup, application, invitation), where you hire, and the kinds of work you post.

Status

Active, waitlist, or closed - also with a required public evidence URL, and a date recording when it was last checked by hand.

Open roles

Read once a day from your public listing pages. Each one gets its own page with structured JobPosting markup, and links straight to your application URL.

Pay

Parsed from the listings themselves, and explicitly flagged as an estimate wherever the source text hedged the number. Figures the source did not state are not shown.

You can see the whole shape of it on any profile - for example Prolific Participants. If anything on yours is wrong, the last option on the form below fixes it. No feed required, and nothing asked in return.

Four things you can do from here

The feed format

One JSON document at a stable, public HTTPS URL. No API key and no auth header. We poll it once a day. There's no pagination - send everything in one document. And presence means active: a role missing from today's feed is marked inactive automatically, so there's no status field to remember to update.

{
  "version": 1,
  "provider": "your-slug-here",
  "generated_at": "2026-08-15T12:00:00Z",
  "roles": [
    {
      "id": "list_abc123",
      "title": "AI Training Specialist - Mathematics",
      "description": "Full plain-text (or lightly formatted) role description.",
      "location": "Remote - US",
      "category": "Data Annotation",
      "apply_url": "https://example.com/jobs/list_abc123/ai-training-specialist",
      "pay": { "min": 40, "max": 65, "currency": "USD", "unit": "hour" },
      "pay_text": "Optional verbatim pay sentence."
    }
  ]
}

Six fields are required: version, provider, generated_at, and per role id, title and apply_url. Everything else is optional and improves what we can show.

Your slug is the last segment of your profile URL - the your-company in /providers/your-company/. A feed whose provider doesn't match is rejected rather than attributed to the wrong company, and getting it wrong is the most common first-attempt failure.

The rest of the format

roles[].id - stable and unique within the feed. Your own internal job id is the right choice if you have one: it's what survives a title edit. description - plain text preferred, light HTML is stripped, truncated to 2,000 characters. location and category - free text, bucketed on our side.

Pay can be structured (pay: { min, max, currency, unit }, and unit can be your own raw string - "HOURLY", "per_hour" and the usual variants all normalize) or a verbatim sentence in pay_text, or both. Either way it goes through exactly the same extraction as pay parsed from a scrape.

RSS: if JSON is the harder ask and you already emit RSS or Atom, tell us. The mapping is straightforward and written down, but we haven't built it - and we'd rather say that than promise it and improvise afterwards.

If a feed is unreachable, malformed, or names the wrong provider, the run fails loudly and nothing is written. If it's valid but empty, we skip the update rather than mark your entire inventory inactive on what's more likely a transient blip.

The terms, in full

Get in touch

Everything here is read by hand. Naming the company and the specific thing you want changed gets the fastest answer.

What's this about?

Frequently asked questions

Do we have to send a feed to be listed?

No. Listing is editorial and entirely independent of any feed. A feed only changes where the role data comes from - it is not a condition of being in the directory, and declining one costs you nothing.

Does sending a feed change our ranking or placement?

No. Nothing does - rankings are computed from registry data and are never for sale, and there is no paid tier. That rule is published in full on the How we make money page, and it applies to feed partners exactly as it applies to everyone else.

Do you charge for this, or pay for it?

Neither. Inclusion, feeds and corrections are free, in both directions. No money moves.

How often would you poll a feed?

Once a day, aligned with the existing nightly refresh. Updating more often on your side has no visible effect here, so there is no reason to build for it.

We don't publish JSON. Can we send RSS?

Tell us and we'll talk. The RSS mapping is written down but not built - we would rather say that plainly than promise a format we haven't shipped and improvise it afterwards.

How long until we hear back?

There's no fixed turnaround - submissions are read by hand, not queued through an automated system. Naming the company and the specific thing you want changed gets a faster answer.