Remote Jobs Scraper – Jobicy, Working Nomads, Arbeitnow +4
Pricing
from $1.00 / 1,000 job postings
Remote Jobs Scraper – Jobicy, Working Nomads, Arbeitnow +4
Remote job postings from seven public boards (Remotive, Remote OK, Jobicy, Arbeitnow, Working Nomads, Himalayas, We Work Remotely) in one normalized, newest-first schema, de-duplicated so the same job is never billed twice. Filter by keyword, company, location, salary and date.
Pricing
from $1.00 / 1,000 job postings
Rating
0.0
(0)
Developer
Fetch Smith
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Remote Jobs Scraper – Remotive, Remote OK, Jobicy, Arbeitnow, Working Nomads, Himalayas & We Work Remotely in one de-duplicated feed
Seven public remote-job boards, one normalized JSON schema, de-duplicated across boards before you are charged.
What it does
Pulls live remote job postings from seven documented, public, no-login job-board APIs/feeds and merges them:
| Source | What it covers | Salary data |
|---|---|---|
| Remotive | Remote tech, design, marketing, support roles, worldwide. Its public feed is small — 16 live postings total on 2026-09-28 (20 on 2026-09-21), and its API ignores every parameter it documents (limit, search, category, company_name), so you always get that whole feed | free-text range, parsed to numbers |
| Remote OK | The ~100 most recent Remote OK postings | numeric USD range on many rows, rendered to text |
| Jobicy | The 50 most recent Jobicy postings | numeric range + currency + period on many rows, rendered to text |
| Arbeitnow | A general European board — only rows flagged remote are returned | none |
| Working Nomads | A general remote board with a category field on every row | none |
| Himalayas | By far the largest board here — ~102,000 live postings per its own API (measured 2026-09-23), cursor-paginated 20 at a time, so maxPagesPerSource caps how deep a run walks into it | numeric min/max/currency/period, rendered to text — 26 of 100 rows carried one (measured 2026-09-29) |
| We Work Remotely | A long-running general remote board, read from its public RSS feed — 89 live postings (measured 2026-10-06), with a jobType field on every row | none published in the feed |
Every row says which board it came from (source, sourceSite) and links to the original posting (url).
Cross-board de-duplication (and what it actually measures)
When a job is syndicated to more than one of these boards, a naive aggregator returns it twice — and on a pay-per-result Actor you pay for both copies. This Actor folds copies into one row (matched on normalized company + title, newest kept) before the charge is made: the extra boards show up as alsoOn: ["remoteok","jobicy"] with their links in duplicateUrls, so you keep the information without paying for it twice. The company match strips common legal-entity suffixes (Inc, LLC, Ltd, Corp, GmbH, …) first, so "Acme Inc" on one board and "Acme" on another still fold into one row. Set dedupe: false to get one row per board copy.
Measured honestly: on a full five-board pull on 2026-09-23 (250 postings), 10 of 250 were duplicates (cross-board and same-board re-posts both folded) — these boards curate largely disjoint sets, so the overlap on any given day is usually small. Working Nomads syndicates some of the same postings Remotive carries, confirmed live this pull. Himalayas is not part of that figure. Its own inventory (~102k postings) dwarfs what any single run samples, so a capped maxPagesPerSource walk into it is not a "full pull" the way the other five boards' entire feeds are — a duplicate-rate measured against a partial Himalayas sample would not be comparable to the other five, so none is claimed here. Dedup against Himalayas still works exactly the same way per run — it just is not summarized as a fleet-wide overlap percentage. Treat de-duplication as a guarantee that you will never be billed twice for one posting, not as a claim that the boards overlap heavily.
Use cases
- Job boards and newsletters — one merged, deduplicated feed to republish or email, with the source link each board's terms require.
- Recruiters and sourcers — watch which companies are hiring remotely for a given stack (
searchKeyword: "rust",salaryOnly: true). - Market/comp research — collect salary ranges across boards over time;
salaryMin/salaryMax/salaryCurrency/salaryPeriodare normalized where the board publishes them. - Job-seeker automations — a daily run with
postedAfterset to yesterday gives exactly the new postings, nothing else; addminSalaryAnnual: 100000to skip roles below your floor (USD-stated rows only — see "Salary" below). - Job alerts on a schedule — set
watchLabeland run it hourly/daily; each run's dataset is only what's new since the last one (see "Watch mode" below), so you never pay to re-fetch roles you already have.
Input
| Field | Type | Notes |
|---|---|---|
sources | array | Any subset of remotive, remoteok, jobicy, arbeitnow, workingnomads, himalayas, wwr. Default: all seven. An unknown name fails the run rather than being quietly dropped. |
searchKeyword | string | Kept if the title, company, category or tags contain it (case-insensitive). Also passed to Jobicy's own tag search, which filters server-side (verified 2026-09-28: it matches company names and title phrases, not just tags). Remotive's API ignores it — see the note below — so Remotive rows are narrowed by this Actor alone. |
titleExcludeKeyword | string | Drops postings whose title contains it, e.g. Senior. |
companyKeyword | string | Substring match on company name. |
locationKeyword | string | Substring match on the location/region field. |
jobTypeKeyword | string | Substring match on the job-type field (e.g. full, contract, part), case-insensitive. Published by Remotive, Jobicy, Arbeitnow, Himalayas and We Work Remotely; Remote OK and Working Nomads carry no job-type field in their API at all, so their rows never match a non-empty filter here — dropped, not guessed at. Added 2026-10-02. |
seniorityKeyword | string | Substring match on the seniority-level field (e.g. senior, entry, director), case-insensitive. Jobicy and Himalayas publish a clean seniority field distinct from job type; the other five boards carry none, so their rows never match a non-empty filter here — dropped, not guessed at from the job title. Added 2026-10-02, Himalayas added 2026-10-10. |
postedAfter / postedBefore | string | YYYY-MM-DD, UTC, both bounds inclusive whole days. A value that is not a real calendar date fails the run — see the FAQ. How far back a window can usefully reach is a property of each board's feed, not of this filter — see "How far back can a date window reach?" in the FAQ before asking for last week. |
salaryOnly | boolean | Keep only rows carrying a salary range or salary text. |
minSalaryAnnual | integer | Keep only rows whose stated salary floor (salaryMin), annualized, is at least this many USD/year. Annualizes hourly x2080, daily x260, weekly x52, monthly x12 — stated assumptions, not facts. Drops (never assumes a pass) rows with no stated period, rows with only a ceiling and no floor ("Up to $90k"), and rows not explicitly in USD — see "Salary fields" below. |
dedupe | boolean | Default true. See above. |
includeDescription | boolean | Adds descriptionHtml. Off by default — descriptions are large. |
maxPagesPerSource | integer | Only affects the paginated sources — Arbeitnow (the board picks the page size, not you: 326 / 325 / 100 rows on pages 1–3 measured 2026-09-28, of which only ~20 / 12 / 1 are remote) and Himalayas (20/page, cursor-based). Default 2. |
maxResults | integer | Stop after this many unique postings are pushed and charged. Default 100. |
resultOrder | string | "balanced" (default) or "newest". Which postings the maxResults cap keeps: one per board per round, newest-first inside each board (so every selected board is represented) versus one global newest-first sort. Never changes the row count or the charge — see the FAQ for why the default matters. |
watchLabel | string | Optional. Turns on watch mode (see below) — only postings not delivered before under this label return. |
watchEvents | array | Optional. Which watch-mode change(s) to report: new, salaryAdded, or both (default, empty = both). |
webhookUrl | string | Optional. http(s) URL POSTed a small JSON completion summary. Best-effort; never affects the run or the bill. |
Watch mode (only new postings since last run)
Set watchLabel to any name you like ("backend-remote-eu") and the run stops returning the whole matching list every time and starts returning only the postings that appeared since the previous run under that label. This is the job-alert shape: schedule it hourly or daily and each run's dataset is your diff.
- The first run for a label is a free baseline. It records which postings are currently open (up to 5,000), returns zero rows and charges nothing. Run it again later to get what's new.
- Already-delivered postings are dropped before any charge, so a run with nothing new costs you nothing.
- The baseline lives in your own Apify account — a named key-value store
fetchsmith-remote-jobs-watch, keywatch-<label>-<fingerprint>. Nothing is kept on our side. - The fingerprint covers
sources, every match filter (searchKeyword,titleExcludeKeyword,companyKeyword,locationKeyword,jobTypeKeyword,seniorityKeyword,salaryOnly,minSalaryAnnual,postedAfter,postedBefore) andmaxPagesPerSource. Change any of them and you get a fresh baseline instead of a dump of postings the old settings had excluded.maxPagesPerSourceis included because it changes how deep each board is crawled: a baseline seeded at depth 1 never recorded the postings sitting on pages 2+, so raising the depth on the same label would otherwise deliver — and charge for — a pile of older postings as if they were brand new.maxResultsandincludeDescriptionare not in the fingerprint:maxResultscaps how many rows a run delivers, not how deep it looks, and a run that hits the cap defers the remaining new postings to your next run rather than losing them. - Identity is the same cross-board key used for de-duplication (normalized company + title), so a job syndicated to two boards is ONE watched posting regardless of the
dedupeinput — you are never alerted twice for the same real-world opening. watchEventspicks which kinds of change get delivered. By default (empty) a watch reports both a brand-new posting and an already-delivered posting that gained a salary since you last saw it (watchEvent: "new"/"salaryAdded", withpreviousHasSalaryon the changed row). Remote OK, Jobicy and Himalayas commonly publish a posting without a salary and add one later under the same id; Arbeitnow and Working Nomads never carry a salary at all, sosalaryAddednever fires for those. Pick just["salaryAdded"]to be alerted only on that and never pay for a brand-new posting.salaryAddedonly starts firing on the run after a baseline recorded before this feature existed.- Baseline size cap: the recorded baseline holds at most 20,000 posting ids per label; once a label crosses that, the oldest ids are dropped to make room and re-delivered (and re-charged) as "new" on a future run. A run that actually drops ids logs a warning and says so in its status message.
- Never pin a watch to
postedBefore. A newly-published posting'spublishedAtis its own post time, so once today's real date passes a fixedpostedBefore, nothing new can ever fall on or before that cutoff again — the watch goes permanently quiet while still reporting a healthy "nothing new" every run. Unlike the date bounds' usual behavior, there is no partial escape here either: wheneverpostedAfterorpostedBeforeis set, a row with nopublishedAtis dropped outright rather than kept, so every one of the seven boards' new postings is blinded, not just the ones that happen to carry the field. A run in that state logs two warnings and setswatchDeadDateBound: truein thewebhookUrlpayload.postedAfteralone is safe to keep in a watched query — it only trims old postings, it never excludes new ones.
Output
One object per unique posting:
{"source": "remotive","sourceSite": "https://remotive.com","sourceJobId": "2091141","title": "Frontend Web Application Developer","company": "KoboToolbox","companyLogo": "https://remotive.com/job/2091141/logo","url": "https://remotive.com/remote-jobs/design/frontend-web-application-developer-2091141","location": "USA, Canada, Argentina, Mexico, Peru","remote": true,"jobType": "full_time","category": "Design","tags": ["api", "django", "docker", "frontend", "python", "react"],"seniorityLevel": null,"salaryText": "$90k - $105k","salaryMin": 90000,"salaryMax": 105000,"salaryCurrency": "USD","salaryPeriod": null,"publishedAt": "2026-09-18T16:43:22.000Z","alsoOn": [],"duplicateUrls": [],"scrapedAt": "2026-09-21T09:40:00.000Z"}
Location is a region, not a city
Remote boards publish the region a candidate must be in ("Worldwide", "USA, Canada", "UK"), not an office address, and some rows carry no location at all. locationKeyword therefore drops rows with an empty location — that is a filter on what the board actually published, not a geocoder.
Job type is raw, not normalized
Unlike salaryPeriod, jobType is passed through in each board's own words — there is no shared vocabulary here. Measured live 2026-09-30: Remotive sends snake_case (full_time, part_time, contract, freelance), Jobicy sends Title-Case-with-hyphen (Full-Time, Contract), Himalayas sends Title Case with a space (Full Time, Contractor, Temporary), and Arbeitnow's job_types is a free-text tag array that often mixes seniority and language with the job type itself ("Freelancer / independent contractor (freiberufler / selbstständiger)", "Werkstudent") — joined into one comma-separated string, or empty when the posting has none. Remote OK and Working Nomads send no job-type field at all, so jobType is always null on those rows. If you need one consistent value (e.g. "is this full-time?"), match case-insensitively on a substring (full, contract, freelance, part) rather than an exact string, or filter to a single source.
Seniority is two boards, not inferred
seniorityLevel is populated from Jobicy's jobLevel field (Any, Entry-Level, Junior, Senior, Director, verified live 2026-10-02) and, added 2026-10-10, Himalayas' seniority field (Entry-level, Mid-level, Senior, Manager, Director, Executive, verified live on 160/160 sampled rows) — joined into a comma-separated string on the rare row with more than one tag. It is null on every other source. Himalayas' categories field sometimes also embeds a seniority word inside a role-title slug (Senior-Valuation-Analyst), which is a separate, noisier signal — seniorityLevel reads the clean seniority field instead, not the slug. No other board publishes a seniority field distinct from a job title or job type, so it is left null there rather than parsed out of a title with a regex that would eventually misfire on a title like "Senior Living Coordinator" (seniority of the job title, not the role). seniorityKeyword matches on this field, so it only ever narrows Jobicy and Himalayas rows; use searchKeyword against the title if you want a best-effort seniority word match across every board.
companyLogo and category are per-board, and companyLogo is the sparse one
Both fields are read from whatever each board publishes and left null otherwise — never fetched from a third party, never guessed from a company name or job title. The sample row above is a Remotive row, which fills both; most rows are not Remotive, so do not read that sample as universal coverage. Measured live across all seven boards on 2026-10-12:
| Board | companyLogo | category |
|---|---|---|
| Remotive | company_logo — 15/15 | category — 15/15 |
| Jobicy | companyLogo — 50/50 | jobIndustry array, joined — 50/50 |
| Himalayas | companyLogo — 16/20 | parentCategories array, joined — 17/20 |
| We Work Remotely | <media:content url> — 16/89 | <category> — 89/89 |
| Remote OK | sends "" on every row — 0/99 | no such field — always null |
| Arbeitnow | no such field — always null | no such field — always null |
| Working Nomads | no such field — always null | category_name — 49/49 |
So category is dense (5 of 7 boards fill it on nearly every row) and companyLogo is not. Two boards publish no logo field at all, and Remote OK — often the largest single source in a run — sends both company_logo and logo as empty strings on all 99 live rows sampled, so its rows read companyLogo: null even though the keys exist in its API response. We Work Remotely only attaches a <media:content> image to about a fifth of its feed. If you need a logo on every row, filter to source: "remotive" or "jobicy", or expect to fill the gap yourself from the company's own domain.
category is each board's own vocabulary, not a shared taxonomy (Remotive's "Design" vs. Jobicy's "Education & E-learning" vs. Working Nomads' own list) — the same caveat as jobType above. Remote OK and Arbeitnow both publish tags but no category, and those tags are already carried in the tags output field rather than being promoted into category, which would mix a curated board category with a free-text keyword list in one column.
Salary
Every board publishes salary in exactly one shape and leaves the other empty: Remotive sends a free-text range only ("$90k - $105k"), Remote OK, Jobicy and Himalayas send numbers only, and Arbeitnow, Working Nomads and We Work Remotely publish none at all. You get both columns filled from whichever one the board sent, so you can sort and filter numerically across all sources and still show a human-readable range:
- Remotive's text is parsed into
salaryMin/salaryMax/salaryCurrency("$31,2k- $52k"→31200–52000USD;k/Ksuffixes,$ € £ ₹ ¥, spelled-out codes likeCAD, thousands commas and European decimal commas all handled)."up to $90k"sets onlysalaryMax,"from $60k"onlysalaryMin. - Remote OK's, Jobicy's and Himalayas' numbers are rendered into
salaryText("$250,000 - $315,000 per year","Up to $127,000"). Theper yearsuffix appears only where the board stated the period — Jobicy and Himalayas send one, Remote OK does not. Jobicy and Himalayas also state a currency, Remote OK does not, so Remote OK rows read bare digits:"250,000 - 315,000", no$. - A value the board itself published is never overwritten — parsing only fills a field that was empty.
salaryPeriod is set only when the posting states it (/hour, per year, Jobicy's own field). We do not infer a period from the size of the number: "$90k - $105k" is almost certainly annual, but "almost certainly" is not something we will put in a data field, so it stays null. Remote OK rows therefore carry salaryPeriod: null — its API sends two bare numbers and no period field. Most are annual, but not all: a live posting paying 30–36 per hour sits in the same feed shape as one paying 250,000 per year, and until cycle 724 this Actor labelled both "per year". Use salaryMin/salaryMax and treat an unusually small Remote OK figure as an hourly rate. Text we cannot parse at all ("Competitive") leaves the numeric fields null rather than guessing.
salaryPeriod uses one vocabulary across all sources: hourly, daily, weekly, monthly, yearly, or null. Boards that publish their own period field do not agree on the wording — Himalayas says "annual" where Jobicy and our Remotive text parser both say "yearly", and it is the most common case on that board (19 of 26 salaried rows in a 100-row sample, measured 2026-09-29). Those are mapped onto the list above, so salaryPeriod === "yearly" catches every annual posting regardless of which board it came from, and salaryText reads "$132,232 - $193,940 per year" rather than "... annual". A period word we do not recognise is passed through unchanged rather than guessed at or dropped — so an unexpected value means the board sent something genuinely new, not that we silently relabelled it.
Remote OK's zeros mean "not disclosed" and are normalized to null, not 0. No currency conversion is performed — salaryCurrency tells you what the number is in when the board states it (a bare $ in Remotive's text is read as USD). Remote OK's API sends no currency field at all, so salaryCurrency stays null on Remote OK rows rather than assuming USD — most are USD, but "most" is not a fact we will put in a data field. Use salaryMin/salaryMax at face value; if you need a guaranteed currency, filter to source: "remotive" or "jobicy".
minSalaryAnnual applies this same no-inference rule to a numeric floor. Because there is no currency conversion, a floor can only be honestly compared against a row explicitly stated in USD — rows with salaryCurrency: null (most Remote OK rows) or a non-USD currency are dropped when the floor is set, not assumed to pass or fail. Because a period is required to annualize ("$85/hour" is not below a $100k floor; null-period Remote OK rows cannot be annualized at all, so they are dropped too when the floor is set), and because the floor compares against salaryMin specifically — a ceiling-only row ("Up to $90k", salaryMin: null) has no known floor, so it is also dropped rather than assumed to clear the bar.
Pricing
Pay per result: you are charged once per unique posting pushed to the dataset. No start fee, no per-run fee, nothing charged for duplicates, filtered-out rows or empty runs.
The full live ladder, per unique posting: $0.0015 on Free, $0.0013 on Bronze, $0.0011 on Silver, and $0.001 on Gold, Platinum and Diamond (verified against the live Actor record 2026-10-04). The comparisons below quote this Actor as "$0.0015→$0.001" for brevity, which is the Free and Gold+ ends of that ladder — the two middle tiers are above, so a Bronze or Silver buyer can read their own rate rather than inferring it.
Correction (cycle 1232, 2026-10-04) — we are NOT "the cheapest established remote-specific multi-board aggregator", and this section claimed that until today. A wider sweep found silicatelabs/JobsFlow (65 users, 39 of them new in the last 30 days), described by its own listing as "the most comprehensive remote job scraper on Apify", aggregating and de-duplicating remote tech jobs from multiple sources — the same product shape and the same pitch as this Actor, at 50+ users, which is exactly the cohort the old claim fenced off. It charges a flat $0.00001 per result plus a one-time $0.00005 Actor-start fee: 100–150x below our $0.0015→$0.001, cheaper than us from the first row at every tier, and the cheapest priced listing of any shape found anywhere in this niche across five sweeps. It is not a near-miss or a tier-crossover case; on price alone it is not close. Nothing below walks that back. Narrowed at cycle 1312: this paragraph said "cheapest listing of any shape" without the word priced, and that is no longer true — the 2026-10-06 sweep found a multi-board remote aggregator that currently charges no Actor fee at all, which beats any per-row rate including this one. See the cycle-1312 paragraph below.
Field-for-field, JobsFlow is a narrower, less structured product than its "most comprehensive" pitch claims (checked live 2026-10-05, its own README and input schema). It reads 3 boards — Remote OK, Remotive and We Work Remotely — not seven; We Work Remotely was added here at cycle 1319, so all 3 of its boards now overlap this Actor's 7, meaning its coverage is a strict subset, not a superset. Its output is 8 fixed fields with salary as a single unparsed string "if provided" — no salaryMin/salaryMax/salaryCurrency/salaryPeriod, so a buyer filtering or sorting by pay has to parse free text themselves, the exact problem this Actor's normalized salary fields exist to remove. Its input is 3 parameters (searchKeywords, techStack, maxJobs) with no date window, no job-type or seniority filter, no salary floor, and no watch/schedule-diff mode — a scheduled run re-delivers and re-bills the entire matching set every time, where this Actor's watchLabel only charges for what changed. Its "intelligent de-duplication" claim publishes no method and no measured rate, unlike the company-suffix-stripped match and the 10-of-250 measured overlap documented above. At 65 users / 39 new in the last 30 days (unchanged from the count cycle 1232 recorded one day earlier, so this specific snapshot shows a pause, not continued compounding — worth re-checking in a future cycle before treating the growth as still steepening), the honest read is: it is winning on price and on boards neither of us already had the user's attention for, not on completeness — the "most comprehensive" claim in its own listing is not true against this Actor's schema or input surface.
Still true, with the scope the correction above forces: cheapest of the large, established remote-specific multi-board aggregators that price in our own range (verified live 2026-10-03/04). Of the seven other multi-board remote-job aggregators with 50+ users named in this paragraph, this one is the cheapest per job at every tier — but "seven" was never the whole 50+-user cohort, and JobsFlow is the proof. The category leader, benthepythondev/remote-jobs-aggregator (855 users as of 2026-10-16, up from 831 — refreshed this cycle since the drift crossed the 20-user bar; same 6 boards we cover), charges $0.015/job on Free tapering to $0.0105/job on Diamond — roughly 10x our $0.0015→$0.001 — plus an Actor-start fee and a separate $0.01→$0.007 "salary-extracted" charge for parsed salary fields, which this Actor includes in the base per-job price at no extra cost. The rest, in user order: sync-network/multi-site-remote-job-finder (286 users) $0.003/job plus a $0.00005 start fee, memo23/remote-jobs-aggregator (421 users) a flat $0.00199/job plus additional-data and start fees, hirebase/remote-jobs (246 users) $0.003/job plus a $0.001 start fee, flash_scraper/remote-job-aggregator (103 users as of 2026-10-16) $0.003→$0.0021/job, hello.datawizards/RemoteJobs-Scraper (51 users) $0.005/job plus a $0.005 start fee, and get_anything/remote-jobs-aggregator (58 users) $0.002→$0.0016/job. Note for flash_scraper: the pricing change that was filed for 2026-10-14 has now taken effect and was verified live 2026-10-16 — its ladder plateaus at $0.0021/job from Gold up instead of falling to $0.0015 on Diamond, and a $0.00005 start fee was added, so it got dearer, not cheaper (its own change note says "per-job prices unchanged", which the live ladder contradicts). Unlike the three forecasts in the cycle-1458 paragraph below — where one of three owners withdrew the listing instead of landing the filed price — this one landed exactly as filed, so the per-tier figures quoted for it above are the post-change ladder, not the pre-change one.
Read the scope word in that claim. It says remote-specific, and that qualifier is doing real work: a broader-scope job-board aggregator undercuts us at every tier. code-node-tools/job-listings-scraper (54 users, 28 of them new in the last 30 days — the fastest-growing listing anywhere in this comparison) reads 180+ job boards and ATS platforms (Greenhouse, Lever, Workday, SmartRecruiters, Ashby, RemoteOK, hh.ru …) for $0.001/result on Free tapering to $0.0007 from Gold up, plus a $0.00005 start fee. That is below our price on every tier, and one of its 180+ sources is Remote OK, one of our seven. It is not a remote-jobs product — there is no remote filter across those boards, no cross-board de-duplication of the same posting, and no normalized salary scale — but if your buying question is "cheapest per row", it wins, and we are not going to bury that behind an adjective. A third broader-scope aggregator, doggo/uk-jobs-board-scraper (407 users, 40 new in the last 30 days, verified live 2026-10-04), reads Indeed, Reed, Totaljobs, CV-Library and Adzuna plus two of our seven boards, Remote OK and Arbeitnow, at $0.005/result on Free tapering to $0.004 from Gold up, plus a flat $0.10 Actor-start fee charged on every run regardless of tier — 4-5x our per-job rate before that start fee is even counted, so unlike code-node-tools it is dearer than us, not cheaper; it is named here only because it is large and growing, and because two of its sources overlap ours. Separately, lenient_grove/Daily-Job-Pulse-Multi-Source-Job-Opportunity-Aggregator (618 users — the fourth-biggest listing in the whole niche sweep) aggregates 25+ general platforms (LinkedIn, Naukri, Indeed, Glassdoor, RemoteOK) with a dashboard, at $0.08/result on Free tapering to $0.05 from Gold up: 33–53x our rate, the dearest listing found in this niche.
What we do not claim (verified live 2026-10-03). We are not the cheapest listing in this niche outright — an earlier version of this section claimed that and it was wrong. A 15-term Store sweep run on 2026-10-03 saw 658 distinct listings, 393 of which mention remote work or one of the six boards by name, and six of them undercut us (up from the two this paragraph listed before cycle 1156 — the other four were simply never found, not disclosed and then hidden). Cheaper than us at every tier: nivlekk/remote-jobs-aggregator (29 users) covers seven boards — exactly the same seven this Actor reads, so board coverage is tied, not broader — at $0.0005/job plus a $0.001 start fee; code-node-tools/job-listings-scraper (54 users) at $0.001→$0.0007 across 180+ boards, described above. Cheaper on our Free/Bronze/Silver tiers and roughly tied from Gold up: hyperbach/remote-jobs-feed covers seven boards and ATSs at a flat $0.001/job with no start fee; delightful_unicorn/remote-jobs-aggregator merges Remote OK, We Work Remotely and Working Nomads at a flat $0.001/job plus a $0.00001 start fee; feedforge/remote-jobs-scraper reads four boards at a flat $0.001/job plus a $0.00005 start fee; and newbs/RemoteOk-Premium-Job-Scraper (102 users, but 0 new in the last 30 days) does Remote OK alone at a flat $0.001/job with no start fee. If per-row price is your only criterion, those are cheaper. One more worth knowing about: scrapesage/remote-jobs-scraper (7 boards) starts far above us at $0.004/job but steepens to $0.001 on Diamond, where it ties us exactly. We closed half of a disclosed input gap at cycle 1131: jobTypeKeyword now filters on job type (benthepythondev and flash_scraper both ship this), matching Remotive, Jobicy, Arbeitnow and Himalayas rows — Remote OK and Working Nomads publish no job-type field at all, so their rows cannot be filtered on it, by us or by anyone reading the same public APIs. Cycle 1135 closes the other half, with a correction: this README previously said no board exposes a seniority field distinct from job type — that was wrong. Jobicy's jobLevel is a real, clean seniority enum (Any, Entry-Level, Junior, Senior, Director, verified live 2026-10-02), now its own seniorityLevel output field and seniorityKeyword input filter rather than being buried inside tags. Himalayas' categories (the other field this README used to point to) are role-title slugs like Senior-Valuation-Analyst, not a structured seniority field. Correction, cycle 1529: Himalayas separately exposes a genuine seniority array field (Entry-level/Mid-level/Senior/Manager/Director/Executive, confirmed live on 160/160 sampled rows) that this audit missed by checking only categories — now read into seniorityLevel too. Coverage is 2 of 6 boards, honestly partial — same shape as jobTypeKeyword's partial coverage above.
Eight more undercutters found and priced live on 2026-10-04 (cycle 1232), none of them previously named here. The 2026-10-03 sweep's "six of them undercut us" count is therefore also out of date; it was a floor, not a total. Cheaper than us at every tier, from the first row: silicatelabs/JobsFlow (65 users, 39 new/30d) at a flat $0.00001/result plus a one-time $0.00005 start fee, corrected in full above; kmltmr00/universal-remote-job-scraper (down from 4, verified live 2026-10-06) at a flat $0.00005/result plus a $0.00001 start fee, 20–30x below us; and ninhothedev/remote-jobs-scraper at a flat $0.0005/result plus a one-time $0.00005 start fee — "$0.5/1K" in its own title, 2–3x below us. Cheaper past a very low volume threshold because the saving is per-row and the fee is one-time: automation-lab/omni-jobs-board-scraper at $0.000115/item on Free tapering to $0.000028 on Diamond plus a one-time $0.005 start fee — dearer than us only on a run of 3 jobs or fewer, cheaper from ~4 jobs up, though it reads Reed and Arbeitnow, so only 1 of our 6 boards overlaps; and goat255/remoteok-scraper (Remote OK alone, titled "Remote Jobs Scraper") at $0.000575→$0.0005/job with a tiered $0.00115→$0.001 start fee, which crosses below us at ~2 jobs. Cheaper on our Free/Bronze/Silver tiers and tied from Gold up — the same shape as hyperbach and feedforge above, and the direction that matters most, because Free and Bronze are where a new buyer starts: pavel.tashev/remote-jobs-aggregator merges Himalayas, Remote OK and Jobicy (3 of our 6) at a flat $0.001/job plus a $0.00005 start fee, and advertises never charging for a failed or empty result — the one feature claim on this list that matches our own; and vital_tuxedo/remote-jobs-feed reads Himalayas alone (1 of our 6) at a flat $0.001/job with no start fee at all, so it ties our Gold+ rate exactly with nothing added.
The closest substitute in the niche is now hipersoft/remote-jobs-aggregator — and its live pricing record looks misconfigured, so read this before trusting the number. It covers 5 of our 7 boards (Remotive, Arbeitnow, Jobicy, Himalayas, Working Nomads — missing Remote OK and We Work Remotely, the latter added here at cycle 1319) with the same de-duplication pitch, the same field list, and the same HTTP-only no-proxy design. Its per-job event job-scraped is tiered $0.002→$0.001, which would make it dearer than or tied with us — but that event is flagged isOneTimeEvent: true on the live Actor, meaning as published it charges for one job per run, not per job, with a separate $0.001 "job board fetched" event and a $0.00005 start fee on top. Taken literally that is roughly $0.007 for a 5-board run of any size, which our Free rate buys fewer than 5 jobs of — i.e. it would undercut us on any real run by orders of magnitude. We think this is a mistake in their event configuration rather than a deliberate flat-rate product, and a one-line fix on their side turns it into a listing that is dearer than us at every tier. It is named here because the scope overlap is the tightest of anything found and because a buyer comparing live prices today sees the cheap number, not our guess about their intent.
Also newly priced live on 2026-10-04 and dearer than us at every tier, so not individually argued: aspen-technology-labs-inc/remote-jobs-api (48 users, $0.003→$0.0015/job plus a start fee), chorelet/remote-jobs-scraper (Remote OK + We Work Remotely + Remotive, $0.002→$0.0014 — worth noting because this owner undercuts us in two other niches and does not here), feedsmith/remote-jobs-aggregator (8 boards, flat $0.0018/job), glidepath/remote-jobs-scraper (flat $0.0017412/job), usta/remote-jobs-feeds (4 feeds, flat $0.002), pixflor/remote-jobs-aggregator (flat $0.002 plus a $0.002 start fee), thedeadpoet/remote-jobs-feed-api-himalayas-remotive-arbeitnow (3 of our boards, $0.002/job plus a $0.02 start fee that is not flagged one-time), appdata-labs/remote-jobs (flat $0.003), factpipe/remote-jobs-feed ($0.003→$0.0021), rolescout/remote-jobs-aggregator-multi-board-salary ("6 boards", $0.006→$0.002), nabeelbaghoor/jobflow-remote (flat $0.004), khadinakbar/remote-jobs-aggregator (flat $0.005), hello.datawizards/Remote (36 users, $0.005/result plus a $0.005 start fee), automation-lab/remote-jobs-multi-board-feed ($0.00667→$0.001624 plus a $0.005 start fee), iettiu/remote-jobs-scraper ($0.006→$0.003), and pixel_drafter/remote-job-board-scraper (flat $0.1/result — 67–100x our rate, the dearest multi-board listing found). One parity listing: scraper0917/remote-jobs-aggregator pitches "6 boards, one deduped feed" — our exact positioning — at a flat $0.0015/job, which ties our Free tier and is dearer than us from Bronze up.
Outside the multi-board comparison above (verified live 2026-10-03), the niche's two biggest listings by users are actually single-board specialists: inlifeprojects/himalayas-jobs-scraper (898 users) and inlifeprojects/remoteok-jobs-scraper (709 users, both re-verified live 2026-10-16), each scraping exactly one of our seven boards at a flat $0.001/job plus a $0.00005 start fee. Neither merges or de-duplicates anything — if you want more than one board, you still need an aggregator — but if you only ever want Himalayas or only Remote OK, they roughly tie our GOLD+ rate once the start fee is counted and undercut our FREE/BRONZE/SILVER tiers. Two more large specialists, both named here for the first time at cycle 1156: logiover/himalayas-remote-jobs-scraper (316 users) is a second Himalayas-only reader at $0.003→$0.0021/job plus a $0.00005 start fee, 2–3x our rate; and parsebird/wwr-jobs-scraper (302 users) covers We Work Remotely — a board we also now read (added at cycle 1319) — at $0.004 per listing plus $0.035 per full job detail, far above our per-job rate for that one board. orgupdate/remote-co-jobs-scraper (112 users) covers Remote.co, another board nothing here touches, at $0.012 per record plus a $0.02 start fee: 8–12x our per-row rate, and roughly 20x on a single-row run. Correction (cycle 1156): this paragraph previously priced orgupdate at "$0.14–$0.2 per record … 100x+ pricier", which is about ten times its live price. It is still the dearest single-board reader on this page, but not by the margin we published, and overstating a rival's price flatters our own comparison, so the real number is above.
The single-board specialist cohort for our own six boards was swept in full for the first time (cycle 1271, 2026-10-05) — 65 listings with 3+ users, every one live-priced, none ruled out by title. Four are big enough by user count to matter and genuinely undercut us at every tier below Gold, tying our Gold+ rate: shahidirfan/Remoteok-Job-Scraper (168 users) and piotrv1001/remoteok-jobs-scraper (92 users), both flat $0.001/job on Remote OK alone; canadesk/remotive-jobs (111 users), flat $0.001/job on Remotive alone; and blackfalcondata/remoteok-scraper (75 users, "Just 💰$1" in its own title — exactly $0.001/job, the title is accurate), also Remote OK alone. A smaller handful price far below even that: fetch_cat/remotive-jobs-scraper (35 users, 8 new/30d) at $0.0000438→$0.0000107/result, its sibling fetch_cat/jobicy-remote-jobs-scraper at $0.0000287→$0.000015/item, and automation-lab/working-nomads-jobs-scraper at $0.0000747→$0.0000182/item — all three 20–140x below our Free rate on one board each. delectable_incubator/himalayas-jobs-scraper-low-cost ties the pattern at $0.00099→$0.00089/job. zinin/himalayas-remote-jobs-api (verified live 2026-10-05) undercuts at every tier too ($0.001→$0.0008 per result-found), but read its live record carefully: a $0.013→$0.0104 Actor-start fee sits on the SAME record and is NOT flagged isOneTimeEvent, so a naive one-number price read would call this listing either absurdly cheap or absurdly dear depending which event it grabbed — we checked both events by hand rather than trusting either in isolation, the same misconfiguration class as hipersoft/remote-jobs-aggregator above. One listing looked like the cheapest thing in the whole sweep and was not: skyline_scrapers/remoteok-scraper-new (55 users, 0 new/30d) flags its $0.00005 Actor-start fee as isPrimaryEvent, but the actual per-row event is $0.01/item — 7–10x dearer than us, not cheaper; naming it here specifically so a future audit does not repeat the same mis-read. The remaining ~55 of the 65 price at or above our Free rate ($0.0015–$0.021/job across Remote OK, Arbeitnow, Working Nomads, Jobicy and Himalayas singles) and are not individually argued. None of the 65 merges boards or de-duplicates anything — the structural gap this whole Pricing section already describes against the two 700+-user specialists above holds for all of them too.
Cycle 1312 (2026-10-06) re-swept the niche and live-priced all 127 previously unnamed listings with 3+ users. One finding changes a claim above, three are genuine new undercutters, and four are listings whose own titles advertise a low price they do not charge. Our own ladder was re-verified live first and has not drifted ($0.0015/$0.0013/$0.0011/$0.001, single per-posting event, no start fee).
The one that matters for the claim above: sequined_fan/remote-jobs-scraper is a genuine remote-specific multi-board aggregator — RemoteOK, Remotive and We Work Remotely, all 3 of which this Actor now also reads (We Work Remotely added at cycle 1319) — with no pricing record filed on the platform at all, so today it charges no Actor fee whatsoever. That is cheaper than every priced listing in this niche, JobsFlow included, which is why the cycle-1232 correction above is narrowed. Read the caveat, though, because it cuts both ways: its own build README advertises "$0.002 per listing, 7-day free trial", i.e. a rate dearer than ours at every tier — so the $0 is an unfiled-pricing misconfiguration, not a deliberate free product, and it can flip to $0.002 the moment the operator files it. It needs no API key and runs on public JSON/RSS feeds (verified from its live build README and input schema, not its Store blurb). On features it is behind us: 3 boards to our 7, no cross-board de-duplication, and jobType/salary are null in its own documented sample output.
Three genuine new undercutters, all single-board and none of them merging anything. automation-lab/remote-rocketship-jobs-scraper (52 users) reads Remote Rocketship at $0.0000312/item on Free tapering to $0.00001 on Diamond, and automation-lab/jobgether-remote-jobs-scraper (40 users) reads Jobgether at $0.000083→$0.0000202/item — both 18–100x below our per-row rate depending on tier, each with a one-time $0.005 start fee, so each is dearer than us only on a run of about 3 rows or fewer and cheaper from ~4 rows up. Both boards are remote-specific but neither is one of our seven. ninhothedev/remoteok-scraper does Remote OK alone at $0.00015/item plus a one-time $0.00005 start fee, 10x below us — note this is a second listing from an owner already named above (ninhothedev/remote-jobs-scraper, $0.0005/job), and the newer one is cheaper than the one we already disclosed.
Four listings put "cheap" or "low-cost" in their own titles and are 2–3x dearer than us — recorded by name because a naive price read grabs their $0.00005 Actor-start fee as the headline and ranks them below us, the same mis-read class as skyline_scrapers above: delectable_incubator/remote-rocketship-jobs-scraper-low-cost (actually $0.00298→$0.00198/item), scrapestorm/remote-com-jobs-scraper---cheap (flat $0.00299), delectable_incubator/remote-com-jobs-scraper-low-cost ($0.00349→$0.00249), and scrapestorm/working-nomads-jobs-scraper---cheap (flat $0.00299). A title is marketing copy, not a price.
Four more listings also charge no Actor fee, and none is a substitute for this one (all four confirmed from live descriptions, not titles): shahidirfan/Remote-Job-Scraper (27 users) reads a single unnamed board and its own description concedes full descriptions sit behind a login wall and that residential proxies are recommended, so the platform-side $0 is not the real cost of running it; shahidirfan/Mercor-Jobs-Search-API (21 users) searches the Mercor freelancer marketplace, not job boards; pranayjsathish/job-market-intel is a hiring-signal/alerting product over Greenhouse and Lever ATS endpoints, closer in shape to our ats-jobs-scraper than to this Actor; and cdex/climatebase-jobs-api covers Climatebase green-tech roles, a board nothing here reads. Of the 127, 81 price at or above our Free rate and are not individually argued. That leaves 34 below our Free rate that are not argued one by one — one of which is the single most important listing in this sweep and is given its own paragraph below. The other 33 are all single-board readers in the $0.00045–$0.0014/row band, and they split two ways: readers of one of our own seven boards (Remote OK, Arbeitnow, Himalayas, Remotive — e.g. shahidirfan/Himalayas-Job-Scraper 35u at $0.0009, memo23/remoteok-jobs-scraper 22u at $0.00099, solidcode/arbeitnow-scraper at $0.0006), which is exactly the cohort the cycle-1271 paragraph directly above already concedes undercuts us on any single board; and readers of boards nothing here covers, which are not substitutes at all — a cycle-1807 resweep found a far bigger one than any previously named here: clearpath/welcome-to-the-jungle-jobs-api (831 users, Welcome to the Jungle/WTTJ only) is now the single biggest listing in this entire bucket, well ahead of the previous leader piotrv1001/dice-com-jobs-scraper (496 users, up slightly from 494). silentflow/glassdoor-jobs-scraper-ppr (304 users, Glassdoor only) and blackfalcondata/monster-scraper (282 users, up from 258 — also refreshed this cycle, past the 20-user bar) round out the four biggest, alongside one-offs for Dynamite Jobs, FINN.no, No Fluff Jobs, Jobindex.dk, Internshala, Y Combinator and Eleduck. None of the 33 merges or de-duplicates across boards. (We Work Remotely singles — shahidirfan/WeWorkRemotely-Job-Scrapper 137u, inlifeprojects/weworkremotely-jobs-scraper 135u, memo23/weworkremotely-jobs-scraper 125u — moved out of this "nothing here covers" bucket at cycle 1319: We Work Remotely is now one of our 7 boards, so these are now single-board subsets of our coverage, undercutting us on that one board alone the same way the Remote OK/Himalayas singles above already do.)
UPDATE (cycle 1319): the board-count gap below is closed. datafetch_labs/remote-jobs-scraper (pricing filed 2026-09-28) was found at cycle 1312 to be a feature superset of this Actor, reading all six of our then-boards plus We Work Remotely (7 to our 6). This Actor added We Work Remotely as a 7th source specifically to close that gap — board coverage is now tied at 7-7. Re-reading cycle 1312's other claims against this Actor's existing feature set rather than re-pulling datafetch_labs live: its cross-board de-duplication (alsoPostedOn) is the same concept as this Actor's own alsoOn/duplicateUrls fields, already documented above; its salary filter that "normalizes hourly and monthly pay to yearly" is the same concept as this Actor's own minSalaryAnnual floor, which predates cycle 1312 and so was never actually a gap; and its "monitor mode" is the same shape as this Actor's watchLabel watch mode. The one claim not matched here is a region-style remote location filter — this Actor's locationKeyword is a plain substring match on whatever location text each board publishes, not a structured region selector — worth re-verifying live against datafetch_labs' actual input schema in a future competitor_audit before conceding or closing it. Price, as last measured (2026-10-06): a flat $0.001 per job plus a one-time $0.00005 Actor-start fee, below our Free/Bronze/Silver rates and tied with Gold+. It is a new entrant rather than an established rival — but a buyer comparing the two on boards covered, features and price should be told it exists. Re-verified live 2026-10-06 (cycle 1334): still 7 boards per its own description (Himalayas, RemoteOK, Remotive, Jobicy, We Work Remotely, Working Nomads, Arbeitnow), price unchanged at flat $0.001/job plus the $0.00005 start fee — zero drift.
Also checked live on 2026-10-03 and dearer than us at every tier, so not individually argued above: scrapemint/remote-jobs-scraper (45 users, 4 boards, flat $0.003/job), nomad-agent/remote-boards-scraper ($0.002→$0.0016 plus a $0.005 start fee that is not flagged one-time, so it bills per GB of memory), nexgendata/job-market-mcp-server ($0.05 per tool call — an MCP server, not a dataset product), nomad-agent/ml-ai-dev-bundle, cancap/remote-jobs-actor (verified live 2026-10-05, 7 boards, $0.003/job), charliemorrisondev/remote-jobs-aggregator (8 boards, $0.002/job), actorworks/remote-jobs-aggregator (8 boards, $0.002→$0.0015 plus a start fee), straightforward_hydra/remote-jobs-aggregator-9-in-one ($0.002/job plus a $0.006 digest event), and techforce.global/all-jobs-scraper (26 boards, $0.0045→$0.0031).
Cycle 1354 (2026-10-07) re-swept the niche again: 699 seen / 417 matched / README names 87 handles / 332 unnamed, and the 3+-user cut grew to 108 (not thin). Own ladder re-verified live first — zero drift ($0.0015/$0.0013/$0.0011/$0.001, single job event, no start fee, unchanged since 2026-09-21). All 108 live-priced via the existing bin/_batch_price_rjs.py. One genuine new finding worth its own sentence: tenfoldfleet/remote-jobs-aggregator is a second full board-parity competitor alongside datafetch_labs above — it names the same 7 boards we do (Remote OK, We Work Remotely, Himalayas, Remotive, Jobicy, Arbeitnow, Working Nomads) with cross-board de-duplication, at a flat $0.0012/job plus a one-time $0.00005 start fee: cheaper than our Free/Bronze/Silver tiers, slightly dearer than our Gold+ rate ($0.001). Published without an exact count per the standing sub-20 rule. Of the other 107: 81 price at or above our Free rate and are not individually argued; the remaining 26 are all single-board readers in the same two structural buckets the cycle-1312 paragraph above already describes — 19 read one of our own seven boards (e.g. goat255/weworkremotely-scraper, fortuitous_pirate/remoteok-jobs-scraper, parsebird/himalayas-remote-jobs-scraper, unfenced-group/remotive-scraper, several of them second or third listings from owners already named on this page) and 7 read boards nothing here covers at all (Internshala, Dynamite Jobs, FINN.no, No Fluff Jobs, Jobindex.dk, Eleduck, Y Combinator) — not substitutes, named here only for completeness. None of the 26 merges boards or de-duplicates anything, so the structural gap this section already argues against the single-board specialists holds for all of them too; no new per-listing paragraphs needed for that bucket.
Cycle 1393 (2026-10-08) re-swept again: 709 seen / 431 matched / README names 87 handles / 342 unnamed, and the 3+-user cut grew to 127 (up from 108 at cycle 1354). Own ladder re-verified live first — zero drift ($0.0015/$0.0013/$0.0011/$0.001, single job event, no start fee, unchanged). All 127 live-priced via the existing bin/_batch_price_rjs.py. One genuine new finding worth its own sentence: agentictools/remote-jobs-aggregator (3 users) reads three of our seven boards — Remotive, Arbeitnow and Jobicy, confirmed from its own live build README, not its Store blurb — with cross-board de-duplication by lowercase title plus company, at a flat $0.0005/job with no start fee: cheaper than us at every tier for the boards it covers, and no pricing misconfiguration to caveat (unlike hipersoft/zinin above). It does not merge Remote OK, We Work Remotely, Himalayas or Working Nomads, so it is a partial not a full substitute — same shape as sequined_fan above but priced instead of unfiled. Of the other 126: 97 price at or above our Free rate and are not individually argued; the remaining 29 split into the same two structural buckets the cycle-1312/1354 paragraphs above already describe — 22 read a single one of our own seven boards (several more second/third listings from owners already named on this page: feedforge, ninhothedev, hoholabs, solidcode, fetch_cat) and 6 read boards nothing here covers at all (Internshala, No Fluff Jobs, Dynamite Jobs, FINN.no, Y Combinator, LinkedIn — the last a likely false match on the generic term "remote jobs", not a true niche substitute). None of the 29 merges boards or de-duplicates anything, so the structural gap this section already argues against the single-board specialists holds for all of them too; no new per-listing paragraphs needed for that bucket.
Correction (cycle 1424, 2026-10-08) — the structural claim every paragraph above leans on is wrong, and the reason we did not see it is in our own method. Every sweep from cycle 1312 to 1393 live-priced only the unnamed listings with 3 or more users (108, then 127) and then argued that the cheap listings are all single-board readers which "do not merge boards or de-duplicate anything", so the multi-board cohort was ours to lose on features, not price. This cycle priced the entire unnamed tail — 715 seen / 435 matched / README names 94 handles / all 344 unnamed live-priced, 0 unresolvable — and that bucket argument does not survive it. 114 of the 344 undercut us at some tier, 93 at every tier, and 18 of those are genuine 3-or-more-board aggregators with cross-board de-duplication, every one of them sitting at 1–2 users — i.e. precisely the cohort a 3+-user cut excludes by construction, because Apify pins a new listing at 2 users. Eight are worth naming, all verified from their own live descriptions and live pricingInfos, none previously on this page:
apt_marble/remote-jobs-aggregator-7-job-boards-in-one-run— exact 7-board parity with us (RemoteOK, Remotive, Himalayas, Jobicy, We Work Remotely, Arbeitnow, Working Nomads), deduplicated, flat $0.0007/job and no start fee. It is cheaper than us at every tier, 30% below even our Gold+ rate, and it is now the cheapest full-parity substitute on this page — below bothdatafetch_labs($0.001 + $0.00005 start) andtenfoldfleet($0.0012 + $0.00005 start) named above.lanternlane-data/remote-jobs-aggregator(2 users, created 2026-10-08, about ten hours before this sweep) — also exact 7-board parity, official public feeds only. Its only pricing record starts 2026-10-22 ($0.0015/job + $0.00005 start, which would be at-or-above us), so right now it is free to run: nothing is in effect, and on price alone a buyer today pays us and pays them $0.datahamster/remote-jobs-aggregator(2 users) — six of our seven boards (all but Working Nomads), same-job-once de-duplication plus a monitor mode, tiered $0.0005 → $0.0004/job, no start fee: 2.5–3.75x below us at every tier, and the cheapest priced multi-board aggregator here apart fromsilicatelabs/JobsFlowabove.deriverge/remote-jobs-scraper(2 users) — six of our boards (all but Arbeitnow), tiered $0.001 → $0.0005/job, no start fee, plus a since-last-run delta mode; under us on every tier.deepmine/remote-jobs-aggregator(1 user) — seven boards, six of them ours plus Relomote (missing Remotive), flat $0.00098/job, no start fee; marginally under our Gold+ rate and well under Free/Bronze/Silver.glasswing/remote-jobs-scraper(2 users) — six of our boards (all but Remotive), merged across boards, $0.0005/job with a $0.005 start fee, so dearer than us only on runs below about 5 jobs and cheaper on anything real.kirozhang/remote-jobs-aggregator(1 user) — five of our boards, duplicates merged, normalized salary, flat $0.0007/job, no start fee.tinyrex/remote-jobs-scraper— five of our boards, flat $0.0008/job + $0.00005 start. (Same owner as thetinyrexundercutter found in the App Store reviews niche at cycle 1420 — this is an owner who systematically prices just under incumbents.)
The remaining 11 multi-board undercutters are 3–5-board readers in the $0.0005–$0.001 band (technicaldost, josh99smith, kadi_bence, alleserojje, dododata, george.the.developer, highbrow_fame, saadhazz, thriftykiwi, arthursbuisness, and glitchbound/remote-jobs-scraper — the one of the 18 that does not beat us at every tier, since its $0.0021 start fee puts it above our Free rate on short runs even though its ladder runs $0.0015 down to $0.00052), all at 1–2 users. The other 96 of the 114 are the two structural buckets the cycle-1312/1354/1393 paragraphs describe and still hold for: 76 read exactly one board, 16 match the niche without naming any of our seven boards at all (boards nothing here covers, plus a few generic false matches on the phrase "remote jobs"), and 4 read two of our boards without being full aggregators. What is no longer true is the implication that de-duplicating multi-board coverage is a moat: it is a commodity in this niche as of October 2026, there are at least 20 of them, and several are priced below us at every tier. The honest reading of this page is now: we are a feature-differentiated aggregator (the list directly below), not a price leader, and a buyer optimizing only for cost per job has cheaper full-parity options.
Cycle 1458 (verified 2026-10-09) resweep: 720 seen / 445 matched / README names 112 handles / 336 unnamed. Own ladder re-verified live first — zero drift. Live-priced all 336 via bin/_batch_price_rjs.py: 108 undercut us at some tier (vs 114 of 344 at cycle 1424 — proportionally flat, ~32% either sweep), so the cycle-1424 correction above still holds and this is not a reversal. Two genuine new broader-scope undercutters, both previously unnamed and from the same owner: nomad-agent/american-jobs-bundle and nomad-agent/web-dev-bundle each bill a flat $0.0002/job, no start fee — 5x under our Gold+ floor — and cover more ground than us, not less: american-jobs-bundle reads Remote OK, Remotive and We Work Remotely (three of our seven boards) plus Foorilla, Built In, Hacker News "Who is Hiring", Work at a Startup and LinkedIn (eight sources total); web-dev-bundle reads the same three of ours plus nine more (LinkedIn, Built In, JustJoin.it, NoFluffJobs, WTTJ, Tecnoempleo, YC, InfoJobs — twelve total), filtered to web/software roles. Neither de-duplicates across sources the way this Actor does (no alsoOn/fold-to-one-row behavior found in either's own schema), so a buyer who cares about that still has a reason to pick us, but on raw per-job price and board count both beat us outright. Two smaller partial aggregators, also newly found, below the standing sub-20 naming threshold but recorded for completeness: webdatatools/remote-jobs-aggregator (2 users) merges Remote OK, We Work Remotely and Hacker News at $0.001 → $0.0006/job; alaudinburki/remote-jobs-aggregator (2 users) merges Remote OK and Remotive at a flat $0.001/job (ties our Gold+, beats Free/Bronze/Silver). Two caught false matches, ruled out by reading the live description rather than the title: codeyouknowadmin/remote-jobs-aggregator's title claims "6 job boards, one deduplicated feed" but its actual description is a Hacker News "Who is Hiring" thread parser — no board of ours in scope; mochiboo/remote-jobs-ats-scraper names RemoteOK and Himalayas only to contrast itself — it explicitly reads employers' own Greenhouse boards instead, "so you see openings that never reach RemoteOK or Himalayas." Updated audit_dates.json (remote-jobs-scraper.competitor_audit 1424 → 1458).
Three dated price changes were pending inside the following two weeks, already in the live records (every price tool we own, ours included, filters to startedAt <= now and so cannot see them): antishock/remoteok-jobs-scraper (RemoteOK alone) was to switch to Apify's FREE model on 2026-10-15; hiraware/greenhouse-jobs (Greenhouse, not one of our boards) to FREE on 2026-10-12; and gochujang/remote-jobs-aggregator (Remotive + We Work Remotely) to drop its $0.001 start fee on 2026-10-09, leaving a flat $0.001/job that undercuts our Free/Bronze/Silver and ties Gold+. All three dates have now passed and were re-verified against the live records on 2026-10-16: two landed as forecast, one did not. gochujang is confirmed at a single job-fetched $0.001 event with no start fee (effective 2026-10-09), exactly as projected, so it is a real flat-$0.001 rival at Remotive + We Work Remotely only — two of our seven boards, no merge or de-duplication. hiraware/greenhouse-jobs is confirmed on the FREE model (effective 2026-10-12), and remains irrelevant to this Actor: Greenhouse is not one of the seven boards it reads. antishock/remoteok-jobs-scraper resolved the other way — it never went free; the Actor was deleted, and the Apify API returns 404 for it as of 2026-10-16. So this niche ended up with one fewer $0-priced rival than the forecast projected, and the lesson for reading future-dated pricingInfos is that a scheduled price is an intention, not an outcome — an owner can withdraw the listing before the date lands. Five of the 344 carry future-dated pricing in total; the other two are lanternlane-data above and solidcode/finn-no-scraper (FINN.no, a board nothing here reads). Six listings needed hand-reading because their live records state no single per-row price — compass_lab/weworkremotely-jobs-scraper and compass_lab/workingnomads-jobs-scraper ($0.0025/job, or $0.0063 with description — dearer than us), datalantern/remote-jobs ($0.0015/job plus a $0.005 start fee — dearer), mrfentmen/arbeitnow-mcp and mrfentmen/jobicy-jobs-mcp (MCP servers billed per tool call, not per row, single-board), and lanternlane-data as described above. None of the 344 is a pure run-fee-only listing.
Cycle 1789 (2026-10-16) resweep, first under the limit=1000-fixed Store search (the pre-1780 tool capped each search term at 100 results): 3,838 seen / 519 matched / README names 118 handles / 410 unnamed. The seen-count jump from cycle 1458's 720 is the truncation fix surfacing rows that were always there, not real niche growth. Per the cycle-1424 lesson that a 3-or-more-user cut hides genuine aggregators (Apify pins a new listing at 2 users), this cycle did not repeat that cut: instead every one of the 410 unnamed titles/descriptions was scanned for aggregator language (board count, "aggregator"/"bundle"/"feed", board names in combination), turning up 27 candidates, all 27 live-priced via bin/_batch_price_rjs.py. Four were already covered by the cycle-1424 "remaining 11" lumped sentence (dododata, arthursbuisness, technicaldost, thriftykiwi) and re-verified still inside the $0.0005–$0.001 band that sentence quotes — no correction needed. Four genuine new finds, none previously named on this page: tali-works/remote-jobs-aggregator (3 users) reads six of our seven boards (RemoteOK, We Work Remotely, Himalayas, Jobicy, Remotive, Arbeitnow — missing only Working Nomads), de-duplicated, flat $0.001/job + $0.00005 start — the closest full-parity match found since tenfoldfleet/datafetch_labs, ties our Gold+ rate and beats Free/Bronze/Silver. lepidata/remote-jobs (2 users) reads four boards (Himalayas, RemoteOK, Jobicy, Arbeitnow), de-duplicated, flat $0.0009/job, no start fee — beats our Gold+ floor outright, not just a tie. datagleaner/remote-jobs-scraper (2 users) reads four boards (RemoteOK, Jobicy, Arbeitnow, We Work Remotely), duplicates removed, flat $0.001/job, no start fee — ties Gold+, beats below. leadgenguy/remote-jobs-aggregator (2 users) is narrower — only Arbeitnow + RemoteOK — at a flat $0.0006/job, recorded for completeness rather than as a credible full substitute. One listing needed hand-reading and has now been resolved (read live 2026-10-16, cycle 1808): compass_lab/remote-jobs-aggregator (1 user, We Work Remotely + Working Nomads + Jobicy — three of our seven boards) has two recurring charge events with neither flagged primary, which is why no tool of ours could resolve a single per-row price automatically. Hand-read, the two events are a straight content split rather than a ladder: $0.002 per job without the description, $0.005 per job with the full description text, flat across all plan tiers, with no Actor-start fee. It is therefore dearer than this Actor at every tier — 1.3x our Free rate and 2x our Gold+ floor on the cheaper event, 3.3x and 5x on the with-description event — so it is not an undercutter, and it prices consistently with the same owner's two single-board listings named above ($0.0025/job, $0.0063 with description), slightly below them for strictly more board coverage. The remaining 22 of the 27 candidates priced at or above our ladder, or turned out on description-reading to be false matches (board names used only as a contrast, same shape as the cycle-1458 codeyouknowadmin/mochiboo catches). The other ~383 of the 410 unnamed (single-board or no-board matches) were not individually priced this cycle — the structural argument two paragraphs above (single-board readers are not aggregator substitutes) already covers that bucket, and nothing in the keyword triage suggests a multi-board threat was missed there, but a brute-force full-tail price (cycle-1424 style) would be the way to double-check that assumption if this niche is resweep again.
Cycle 1807 resweep of the ~383-of-410 single-board/no-board tail cycle 1789 left unindividualized: 3,907 seen / 527 matched / README names 123 handles / 413 unnamed (every user count in this paragraph re-verified live 2026-10-16, zero drift) — composition churn, not growth (seen/matched/unnamed all moved by low single digits). Rather than price all 413, scanned every title/description for board scale, since the cycle-1789 "nothing missed" assumption was never actually checked against the full tail. It was wrong: the headline find is clearpath/welcome-to-the-jungle-jobs-api (831 users, 202 new in 30 days — the fastest-growing listing found in this niche by far), a single-board Welcome to the Jungle (WTTJ) reader, now the biggest listing in the "boards nothing here covers" bucket by a wide margin (documented above), bigger even than the previously-largest full-parity aggregator benthepythondev/remote-jobs-aggregator's 855 users. silentflow/glassdoor-jobs-scraper-ppr (304 users, Glassdoor only) is the other new large single-board find, also documented above. Neither reads a board this Actor covers, so neither is a substitute regardless of size — same structural ruling as dice-com/monster — but both are large enough that a buyer searching "remote jobs" on the Store will see them, so naming them here (rather than leaving them in the unnamed tail indefinitely) is the honest move. Smaller single-board finds in the same tail, all well below the naming threshold and not individually argued: moving_beacon-owner1/my-actor-83 (78u, Remotive only — one of our own seven, same bucket as the shahidirfan/memo23 singles above), k1ra/linkedin-jobs-scraper (78u, LinkedIn — flat $0.001/job delivered, the same per-row unit noun we bill, undercutting our $0.0015/job at every tier; disclosed here for the price even though LinkedIn is not one of our seven boards and it is not a coverage substitute), powerai/computrabajo-jobs-search-scraper (77u, Computrabajo.com, a Spanish-language board nothing here reads), k1ra/ats-jobs-scraper (50u, Greenhouse/Ashby/Lever ATS boards — same hiring-signal shape as pranayjsathish above, not a job-board aggregator), and stealth_mode/pracuj-jobs-search-scraper (44u, Pracuj.pl, Polish). None of these five merges multiple boards or de-duplicates anything. The remaining ~405 of the 413 are the same two established buckets (single board of our own seven, or a board nothing here reads) and were not re-argued one by one.
What this Actor gives you that the listings above do not — re-verified live 2026-10-08 (cycle 1428), and two of the five claims this paragraph used to make did not survive it. The previous version was dated 2026-10-07, i.e. before the eight rivals named in the cycle-1424 correction directly above were found, so it had never actually been checked against the closest two of them. It has now been read against apt_marble/remote-jobs-aggregator-7-job-boards-in-one-run (7-board parity, $0.0007/job) and datahamster/remote-jobs-aggregator (six of our boards, $0.0005→$0.0004/job) — the cheapest full-parity and the cheapest priced multi-board substitutes on this page — using their own live input schemas and live build READMEs. Both hide their source code, so nothing below is inferred from code, only from what they publish.
Still true. A two-sided date window (postedAfter and postedBefore, both inclusive, and a malformed date fails the run instead of silently billing you for every posting on seven boards): both rivals expose only an open-ended postedWithinDays, and no listing swept above has ever been found offering a closing bound. A minSalaryAnnual floor that annualizes hourly/daily/weekly/monthly pay onto one USD scale (2080 h/yr, 260 d/yr, monthly ×12, weekly ×52) and drops a posting rather than guessing when the period, the floor or the currency is missing — this is a narrower claim than it was, because apt_marble does ship a "Minimum yearly salary" filter; it compares the posting's top published value against your number, and its own Limits section states that salary currencies and periods are not converted, so an hourly or monthly figure is matched raw against a yearly threshold. And per-board limits with measured numbers (Himalayas' ~102k postings at a forced 20/page; Arbeitnow's 326 / 325 / 100-row pages of which only ~20 / 12 / 1 are remote) — though both rivals do document limits in prose (datahamster: "roughly 100–500 per feed"; apt_marble: "typically a few hundred to a thousand in total", plus a note that Jobicy publishes only the last 7 days), so the old "rather than left for you to discover on a billed run" framing was unfair to them and is withdrawn.
Withdrawn (both re-verified live 2026-10-08). (1) "A watch mode that fires on salaryAdded and not just 'only new'." datahamster's monitor mode returns jobs that are new or changed since the previous run and emits changeType, changedFields and previous, so change detection beyond "only new" is not ours alone. What is still specific here is selectability: watchEvents lets you ask for salaryAdded alone and never be charged for a new posting, where that rival's monitor mode bills new and changed jobs together ($0.005 per monitor run plus $0.0005 per new-or-changed job). (2) "Salary parsing in the base price with a normalized salaryPeriod vocabulary." Both rivals parse salaryMin / salaryMax / salaryCurrency / salaryPeriod into their output inside their base per-job price as well, and kirozhang above advertises normalized salary too. It is table stakes in this niche, not a differentiator, and claiming it as one was wrong.
FAQ
What happens if I typo a date? The run fails immediately with an error naming the field and the bad value. It is deliberate: if a bad postedAfter were ignored, the run would return (and bill for) every posting on all seven boards instead of your window, and a warning line in a successful run is not something anyone reads. 2026-6-5, 06/15/2026 and 2026-02-30 are all rejected — the last one because it is not a real date, even though JavaScript would silently roll it over to March 1.
Are both date bounds inclusive? Yes. postedAfter starts at 00:00:00.000Z of that day and postedBefore ends at 23:59:59.999Z, so a job posted at 14:00Z on your end date is included.
How far back can a date window reach? Only as far as each board's own feed goes — and that varies by three orders of magnitude, so a historical window returns a result set weighted toward the deep boards and silent on the shallow ones. Measured 2026-10-13 at the default maxPagesPerSource: 2, oldest posting reachable per board:
| Board | Oldest reachable | Depth lever |
|---|---|---|
| We Work Remotely | ~152 days | whole feed in one request |
| Remote OK | ~72 days | whole feed in one request |
| Remotive | ~28 days | whole feed in one request |
| Working Nomads | ~29 days | whole feed in one request |
| Arbeitnow | ~6 days | maxPagesPerSource (max 20) |
| Jobicy | ~19 hours | whole feed in one request (publishes only the last 7 days) |
| Himalayas | ~2 hours (~6 at maxPagesPerSource: 20) | maxPagesPerSource (max 20) |
These are one measurement, not a contract — a board's feed depth moves with its posting volume, and the two shallow boards are shallow precisely because they are high-volume. The practical consequences: a window like "all of last week" cannot return Himalayas or Jobicy rows at any legal input, and a run where a board contributes nothing because of this now logs a warning naming the board and its oldest reachable date (plus the maxPagesPerSource hint where raising it would actually help), so a thin result is distinguishable from a genuinely empty search. For anything older than a couple of days on the shallow boards, the answer is a scheduled watchLabel run that accumulates postings as they appear — history you did not capture at the time cannot be back-filled from these feeds. Note postedAfter set to yesterday for a daily run (see "Use cases") is well inside every board's reach and is unaffected.
My watch says "nothing new" every single run — is it broken? Check whether you set postedBefore. A watch combined with a fixed upper date bound is a dead end: every brand-new posting is dated "now", so once the calendar passes your cutoff no new posting can ever satisfy it again, and the run honestly reports zero new rows forever. Such a run now logs two warnings and sets watchDeadDateBound: true in the webhookUrl payload so a scheduled watch can alert on it instead of trusting the quiet. Fix it by removing postedBefore from the watched query — keep postedAfter if you want a floor — or drop watchLabel if you genuinely wanted a one-off historical window rather than an ongoing watch. (Changing the filter starts a fresh free baseline, since postedBefore is part of the watch fingerprint.)
How are duplicates detected? Normalized company name + normalized job title (lowercased, punctuation collapsed), no source check — so it also catches a board re-listing its own posting under a new URL, not just cross-board syndication. It will not merge two genuinely different openings that share a title at the same company — those stay separate rows. Both halves are measured, not assumed: a live 356-row pull found 4 same-board reposts correctly folded (one company, Peroptyx, had 4 URLs behind one title on Working Nomads alone) and 0 of 14 same-company near-title-overlap pairs (e.g. Lemon.io's simultaneous "Senior AI/QA/DevOps/Solutions Engineer" openings) were true duplicates — confirming that loosening the match to fuzzy titles would silently merge real distinct roles far more often than it would catch missed duplicates. See Remote job boards duplicate their own listings — and fuzzy title matching would make that worse, not better.
I set a small maxResults and got rows from only one board — is that a bug? It was, and it is fixed. Until 2026-10-18 the merge was a single global newest-first sort, which quietly made this a one-board Actor at its own default settings: the boards do not publish comparable timestamps. Arbeitnow stamps every row of its ~300-posting feed with a crawl time from the current day (measured 2026-10-18: all 300 rows between 02:32 and 20:00 UTC, in ~79 same-second clusters), while Remote OK, We Work Remotely, Remotive and Working Nomads send real posting dates reaching back weeks to months. Sorted together, the whole of Arbeitnow outranks every other board's newest row — measured against all six live feeds that day, the top 10 / 25 / 50 / 100 of the merged list were 100% Arbeitnow, and the first non-Arbeitnow row appeared at rank 145. Since maxResults defaults to 100, the default run was charging for a seven-board merge and delivering one board. (The previous version of this FAQ answer said to "ask for at least 50 results to see all seven represented" — that advice was measurably false, which is how the bug was found.)
The cap now samples boards as well as recency: resultOrder defaults to "balanced", which takes one posting per board per round, newest-first inside each board, with each round led by whichever board holds the newest unsent row. So row 1 is still the newest posting overall, but every board you selected that returned rows is represented within the first few rows instead of past rank 144 — on the measured feeds above, the top 10 goes from arbeitnow=10 to arbeitnow=2, jobicy=2, wwr=2, remoteok=2, workingnomads=1, remotive=1, and the top 100 from arbeitnow=100 to a near-even split across all six. Each run logs the board mix it delivered (Delivery order "balanced"; first 10 row(s) by board: …) so you can check this without grouping the dataset yourself. Set resultOrder: "newest" for the old pure global sort, or set sources to a single board if you want a guaranteed per-board slice. Row counts and charges are identical either way — this only changes which rows a cap keeps and in what order.
What if one board is down? The run continues with the others and logs a warning naming the failed board. You are only charged for rows you actually receive.
What if the run approaches the platform run timeout? It stops itself short of the hard kill and pushes whatever unique postings it already collected, rather than losing the whole run to a mid-collection kill (this Actor collects and de-duplicates all seven boards before pushing any row, so an unguarded timeout previously meant zero rows delivered). The closing log line gets a (incomplete: time-budget) suffix, and a Board(s) not reached: ... warning names any board the clock didn't leave time to start at all — a source missing from your results because of this is different from a source that's genuinely empty for your filters. There is no RUN_SUMMARY key-value record for this Actor; the log is the source of truth. If you see this, narrow the date window, lower maxPagesPerSource, or drop a slow source from the list.
Does this need a login, API key or proxy? No. All seven endpoints are public and documented, and the Actor is HTTP-only — no headless browser.
Why are Arbeitnow rows mostly German? Arbeitnow is a European (largely German) board; only its postings flagged remote are returned here. Drop arbeitnow from sources if you want US-centric boards only.
Why does Himalayas only return a handful of rows even with a high maxResults? Its own feed caps page size at 20 regardless of what you request, so maxPagesPerSource (default 2 → 40 Himalayas rows per run) governs how deep a run walks into its ~102k-posting inventory. Raise maxPagesPerSource (max 20 → 400 rows) if you need more from this one board specifically.
Sources and attribution
All seven sources are public and ask for credit in return. This Actor puts the source board and the original posting URL on every row so you can honour that downstream: if you republish these postings, link back to Remotive, Remote OK, Jobicy, Arbeitnow, Working Nomads, Himalayas and We Work Remotely, and point application buttons at the original job URL in the url field. Remote OK's API terms require a followed link back; Jobicy's asks that apply buttons resolve to the original posting.
Notes
- Public data only: no login, no personal data beyond what the boards publish publicly about a job.
- Feeds are snapshots of what each board serves at run time, so historical date windows thin out on the boards whose feeds are shallow. Corrected cycle 1632: this note used to name Remote OK and Jobicy as the shallow pair. Measured 2026-10-13, Remote OK is the second deepest board here (~72 days reachable); the genuinely shallow pair is Jobicy (~19 hours) and Himalayas (~2). Full per-board table and what to do about it: "How far back can a date window reach?" in the FAQ.
- Feed-reach warning (cycle 1632). A run with
postedAfterset below what a board's feed can serve now logs a warning naming the board, its oldest reachable posting and — on the two paginated boards only — themaxPagesPerSourcehint, so a board contributing zero rows for depth reasons is distinguishable from one that genuinely had no match. Found by a varied-input platform test whose two-sided window came back with 0 rows on both seniority boards: the filters were correct and the window was unreachable, and nothing in the run said so. - Flaky-feed handling (2026-09-21). Remote OK's edge intermittently kills the HTTP/2 stream or answers a fresh connection with a non-HTTP preamble — measured at roughly 1 fresh request in 4, and Remotive does it too. Each source is fetched once per run, so one blip used to drop that whole board from your dataset with only a warning in the log. Every transport-level failure is now retried up to 3 times, falling back to HTTP/1.1 after the first attempt. A measured back-to-back pair of runs over all four boards (pre-Working-Nomads): 83 rows before the fix, 182 after (two blips in the same run, both recovered). A feed that answers 404 or 5xx now fails its source loudly instead of reporting zero jobs, which used to look identical to "nothing posted today".
- We Work Remotely added (cycle 1319). Closes the board-count gap against
datafetch_labs/remote-jobs-scraper(cycle 1312's finding, a feature superset at 7 boards to our then-6); we now also cover 7. Read from its public RSS feed (weworkremotely.com/remote-jobs.rss, ~89 live postings measured 2026-10-06), not a JSON API — titles arrive as"Company: Job title"and are split on the first": "(verified live, 0 of 89 sampled titles missing the separator). No stable job ID in the feed; the posting's own permalink doubles assourceJobId, same gap-filling as Working Nomads and Himalayas. No salary field published at all, same shape as Arbeitnow and Working Nomads.jobTypecomes from the feed's<type>tag (Full-Time,Contract, …);categoryfrom<category>;locationjoins whichever of<region>/<country>/<state>the feed actually filled in for that row (each is blank on many rows — never guessed at). - Working Nomads added (cycle 699). Closes a feature gap against the category leader (
benthepythondev/remote-jobs-aggregator, 805 Store users), which covers 6 boards including Working Nomads and Himalayas; we now cover 5. No stable job ID in its feed — the job's own permalink URL doubles assourceJobId. No salary or company-logo fields published, same shape as Arbeitnow. - Himalayas added (cycle 701). Closes the last feature gap against the category leader — we now match its 6-board coverage. Public endpoint is
https://himalayas.app/jobs/api(the documented-looking/api/jobsand/api/v1/jobspaths both 404 or return the HTML app shell; the real one was found by reading the response's owncommentsfield, which documents the cursor-pagination contract). Fixed page size of 20 regardless of anylimitquery param (verified live at limit=50/100/200, all still returned 20) — depth is governed entirely bymaxPagesPerSource, same lever as Arbeitnow. No stable numeric id;guid(the job's own permalink) doubles assourceJobId, same gap-filling as Working Nomads. seniorityLevel/seniorityKeywordadded (cycle 1135), correcting a false claim. This README used to say no board exposes a seniority field distinct from job type. Verified live 2026-10-02: Jobicy'sjobLevelis a real, clean enum (Any,Entry-Level, Junior,Senior,Director) that was being read into thetagsoutput field as a placeholder (Jobicy's API has no actual tags field). It now has its ownseniorityLevelfield andseniorityKeywordfilter; every other board staysnull— Himalayas'categorieslooked like a second candidate but turned out to be role-title slugs (Senior-Valuation-Analyst), not a structured seniority value, so it was not used.- Himalayas added to
seniorityLevel(cycle 1529), correcting cycle 1135. Theenum_auditbacklog's "ask what an implicit vocabulary promises" method (from cycle 1528) turned up a field cycle 1135 never checked: Himalayas' API separately exposes a cleanseniorityarray (Entry-level/Mid-level/Senior/Manager/Director/Executive) distinct from thecategoriesrole-title slugs that cycle 1135 correctly rejected. Confirmed live on 160/160 sampled rows (8 cursor pages) using the Actor's exact query. Himalayas is "the largest board here at ~100k live postings" per thesourcesfield description, so this restores seniority filtering on the majority of the Actor's total row volume, not an edge case.
Related guides
- Six public remote-job APIs with no key — and how small each feed really is — measured feed sizes, Remotive's decorative
limit, Remote OK's legal-notice row, Working Nomads' id-less 58-posting array, Himalayas' ~102k-posting scale and undocumented endpoint, and which boards actually syndicate - Remote job boards duplicate their own listings — and fuzzy title matching would make that worse, not better — a live 356-row pull found the same board re-listing one job under a new URL (correctly folded), and confirmed that fuzzy title matching would have wrongly merged 14 genuinely distinct roles at companies that batch-post similar titles
- Incremental API watch mode: eight traps — how
watchLabelis built across the fleet, including this Actor's cross-board posting identity and its salary-disclosure change signal - FetchSmith blog — data-source guides and API notes
- All FetchSmith Actors