Remote Jobs Scraper & API: 4 Boards, One Shape, 35 Fields avatar

Remote Jobs Scraper & API: 4 Boards, One Shape, 35 Fields

Pricing

from $0.70 / 1,000 jobs

Go to Apify Store
Remote Jobs Scraper & API: 4 Boards, One Shape, 35 Fields

Remote Jobs Scraper & API: 4 Boards, One Shape, 35 Fields

Remote jobs from Himalayas, Remote OK, Jobicy and Arbeitnow in one 35-field shape, de-duplicated across boards. Himalayas timezones included. $1 per 1,000.

Pricing

from $0.70 / 1,000 jobs

Rating

0.0

(0)

Developer

Dodo Data

Dodo Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Four public remote-job boards, one row shape, de-duplicated across all four. Himalayas, Remote OK, Jobicy and Arbeitnow, read through the APIs their owners publish, in clean JSON: 35 fields per job, 200 jobs from all four boards in about a minute, 0 failures.

Himalayas alone was listing 104,515 open remote jobs when this was written, and it is the only one of the four that publishes which timezones a job may be worked from. That field survives into every row.

What you get

{
"id": "himalayas:https://himalayas.app/companies/mercor/jobs/french-voice-actor-tts-expert-7606534085",
"source": "himalayas",
"source_name": "Himalayas",
"company": "mercor",
"title": "French Voice Actor - TTS Expert",
"location": "Belgium",
"locations": ["Belgium"],
"workplace_type": "remote",
"remote": true,
"employment_type": "Full Time",
"experience_level": "Mid-level",
"salary_min": 50,
"salary_max": 150,
"salary_currency": "USD",
"salary_period": "hourly",
"salary_source": "structured",
"tags": ["Voice-Acting", "Text-To-Speech", "French-Voice-Over", "..."],
"timezone_offsets": [1],
"posted_at": "2026-09-22T04:12:56.000Z",
"expires_at": "2026-11-21T04:12:55.000Z",
"description": "About the job Mercor connects elite creative and technical talent with leading AI research labs ...",
"apply_url": "https://himalayas.app/companies/mercor/jobs/french-voice-actor-tts-expert-7606534085",
"url": "https://himalayas.app/companies/mercor/jobs/french-voice-actor-tts-expert-7606534085",
"change_status": "new",
"first_seen_at": "2026-09-22T08:20:11.252Z",
"scraped_at": "2026-09-22T08:20:11.722Z"
}

The four boards

BoardWhat it isSizeWhat it publishes that the others do not
Himalayasthe largest of the four, pages with a cursorabout 100,000 open remote jobs (104,515 when first measured, 99,828 on 24 Sept)timezone restrictions, an expiry date, seniority
Remote OKtech-heavy, one request returns its newest 9999 per runa salary range on some of its jobs
Jobicycurated, one request returns up to 100100 per runan industry tag and a clean region list
ArbeitnowEurope-heavy, 250 jobs a pagea few remote per pageGerman-language listings you will not find on the other three

In a measured run of 200 rows on Apify: 143 from Himalayas, 27 from Jobicy, 19 from Arbeitnow, 11 from Remote OK, 200 distinct jobs, 0 failures. Each board is held to an equal share of your row budget until every board has answered, so you get a mix rather than 200 rows of whichever one is fastest.

Remote OK sets the pace of a run. It answers in one request, but that request is slow and sometimes has to be retried: measured on 2026-09-22 it answered in 5 seconds on one run and 84 on another, and the other boards wait for it rather than spending its share. So a 200-row run takes about one to three minutes. If you want the fastest possible run and can do without its 99 tech jobs, leave remoteok out of networks; the remaining three answer in seconds.

The same job is often on two of these boards. Rows are de-duplicated on company and title across all four, so you are billed once for it, not twice.

Filters, applied before a row is saved

You are charged per row, so every filter runs before anything is written and you never pay for what you filter out.

FilterWhat it does
Keywordskeep a job if its title or its tags contain any of these words
Exclude keywordsdrop it on the title only, so a stray tag does not cost you a job
Region restrictionsEurope, UK, United States, LATAM, APAC or a country. Region names cover their countries, so Europe finds a Himalayas job listed for Germany. Whole words only: UK never matches Ukraine. A job with no published restriction is open to anyone and is kept only if you add Worldwide
Only jobs with paykeep only jobs where the board published a range. In the measured run, 172 of 400 had one
Minimum salarya yearly figure: hourly and monthly pay are annualised first, and only pay in USD, EUR, GBP, CHF, CAD or AUD is compared
Posted within (days)a job whose board published no date is kept, not guessed at
Job boards to readrun one board, or all four

A filter that matches nothing does not cost you hours. Himalayas lists about 100,000 jobs, so after 50 pages in a row (1,000 jobs) with no match the run stops paging it and the log says so, rather than reading the whole feed to return nothing. A filter that matches even once every few pages keeps going.

A daily feed of only the jobs you have not had

Give the run a Monitor name and put it on a schedule. Every row then says whether it is new, updated or already delivered, and carries first_seen_at. With Only changes on, jobs you have already received are left out and not billed.

Measured, two runs of the same monitor minutes apart:

run 1 Monitor "remote-watch": 100 new · 0 updated · 0 already delivered before
run 2 Monitor "remote-watch": 100 new · 0 updated · 100 already delivered before

The second run returned 100 different jobs: it skipped everything it had already delivered and paged deeper to fill the budget with jobs you have not seen.

Each of these feeds is a window on to its own board and never a complete listing, so this Actor never claims a job was removed. Absence from a feed proves nothing.

Pay

salary_min, salary_max, salary_currency and salary_period are filled only from the board's own pay fields, and salary_source is structured when that happened and null when it did not. Nothing on this Actor is read out of the job description, so no number here is a guess. Ranges come through as the board published them, hourly as well as annual: check salary_period before you compare two rows.

Timezones, which only Himalayas publishes

timezone_offsets is the list of UTC offsets a remote job may be worked from, for example [-8, -7, -6] for US Pacific to Central, [1] for Central Europe, or [5.5] for India: half-hour and quarter-hour zones are kept. In the measured run 191 of 400 rows carried one. It is null on Remote OK, Jobicy and Arbeitnow, which do not publish it, rather than filled in with a guess.

If you are matching candidates to jobs by working hours, this is the field: it is the difference between "remote" and "remote, but you have to be awake at 3am".

Where the data comes from

This Actor reads only the public APIs these four boards publish for the purpose, at the pace their robots.txt asks for, and credits each of them:

Every row carries source, source_name and a url pointing at the original job page on the board it came from, which is what Remote OK, Jobicy and Arbeitnow each ask of anyone using their feed. apply_url points there too, so an application always reaches the board that published it. If you build a product on this dataset, keep those links followed and visible: it is the only thing these boards ask in return for a free API.

No login is used, no page behind one is read, and no personal data is collected. Contact details that turn up inside a job description are removed before the row is written.

Price

$1 per 1,000 jobs, plus $0.0002 per run start. Pay per event: you pay for rows you actually receive, and filters and monitor mode run before billing.

You wantRowsCost
a look at what the boards have100$0.10
a working dataset1,000$1.00
a daily monitor on a keyword, for a month, with Max jobs 50 or Posted within 1 day~1,500~$1.56

On a monitor, set one of those two. With the default of 500 and Only changes on, each run skips what you already have and pages deeper to fill the 500, so it bills 500 progressively older jobs a day (about $15 a month) instead of the handful that are new.

Also from Dodo Data

  • Job Search API & Monitor — search 168,000 jobs from company career pages by words and location, with no URLs and no company list.
  • Career Site Jobs Scraper — point it at any company's career page on Greenhouse, Lever, Ashby or Workday and get the same row shape, with pay read out of the description when the employer only states it in prose.