Remotive Jobs Scraper - Curated Remote Tech Jobs avatar

Remotive Jobs Scraper - Curated Remote Tech Jobs

Pricing

from $2.00 / 1,000 job returneds

Go to Apify Store
Remotive Jobs Scraper - Curated Remote Tech Jobs

Remotive Jobs Scraper - Curated Remote Tech Jobs

Scrape Remotive, a hand-curated board of remote tech and developer jobs, into a clean JSON or CSV job dataset. Parsed salary data, normalised hiring regions, seniority, category, and a ghost-job score flagging expired and stale job postings.

Pricing

from $2.00 / 1,000 job returneds

Rating

0.0

(0)

Developer

Dave Fergins

Dave Fergins

Maintained by Community

Actor stats

0

Bookmarked

45

Total users

22

Monthly active users

8 hours ago

Last modified

Share

Remotive Jobs Scraper

Scrape Remotive, a hand-curated board of remote tech and developer jobs, into a clean JSON or CSV job dataset. Parsed salary data, normalised hiring regions, seniority, category, and a ghost-job score flagging expired and stale job postings.

Jobs courtesy of Remotive. Every job in this dataset comes from Remotive's public API, and each row credits it: url links back to the original posting on remotive.com, and source is remotive. Remotive's API terms require keeping that link and naming Remotive as the source wherever the jobs are shown, and they restrict submitting the jobs to third-party job sites (such as Google Jobs or LinkedIn Jobs) and showing them to collect sign-ups. Read them before you re-publish these jobs.

Remotive remote jobs: a small curated board, and that is the point

Remotive is curated rather than aggregated, and it is by far the smallest feed of the six boards in this pipeline β€” typically under 30 live listings at a time, where Arbeitnow carries over a thousand.

Be clear about what you are buying: this is not a volume source. It is a high-signal one. Every listing reaches the board deliberately, and 100% of them state a hiring region β€” the best region coverage of any board here β€” so location filtering is exact rather than inferred.

Salary arrives as free text ("$70,000 - $120,000", "Pay per task") and is parsed into numbers where it can be. Where it cannot, the field is left empty and the board's original wording is preserved in salaryRaw β€” an absent salary is more useful than a wrong one.

If you want volume, use the Remote Jobs Aggregator instead, which includes this board plus five others.


Remotive job data: what each row contains

Identitystable id across runs, posting URL, direct applyUrl where published
The roletitle, company, plain-text description, tags, employment type, seniority
Whereremote flag, the board's own location text, and normalised regions (worldwide / usa / canada / latam / uk / europe / apac / africa / middle_east)
Paymin, max, currency and period as numbers, annualised on request
Whenposted date, expiry where published, age in days
Trustfreshness 0-1, ghostRisk low/medium/high, and ghostReason explaining the verdict in plain words

Ghost job detection: the trust fields

Job boards are full of postings still published but no longer open β€” filled roles left up for pipeline, evergreen "talent pool" adverts, and listings nothing ever expires. Every row here carries a risk band and the reasons behind it:

{
"title": "Senior Backend Engineer",
"company": "Acme",
"freshness": 0.71,
"ageDays": 10.4,
"ghostRisk": "low",
"ghostReason": ["recent, and nothing contradicts it"]
}

Signals come from what the board actually publishes: age, its own expiry date where there is one, missing application links, and evergreen phrasing. Nothing is inferred by a model. Freshness decays on a 21-day half-life, and a posting with no date scores 0.5 rather than 1.0 β€” absence of evidence is not evidence of freshness.

Example input: fresh Python or DevOps jobs open worldwide or in Europe

{
"query": ["python", "devops"],
"regions": ["worldwide", "europe"],
"maxAgeDays": 21,
"maxGhostRisk": "low",
"maxItems": 50
}

Every field is optional β€” run it empty and you get the whole Remotive feed, typically under 30 live listings, best-first.

  • Search terms are OR-ed. ["go", "rust"] returns jobs mentioning either.
  • Worldwide jobs match every region filter, because a job open to everyone is open to you.
  • minSalary is annualised first, so hourly and monthly rates compare correctly.
  • maxItems is your cost ceiling β€” you are billed per job returned.
  • maxPagesPerSource: Remotive serves its whole feed in one call, so this setting has no effect for this board.

Output: one dataset item per Remotive job

One dataset item per job, ordered best-first: lowest ghost-job risk, then freshest. Export as JSON, CSV or Excel, or read it from the API like any Apify dataset.

If Remotive itself returns no jobs β€” the board is down or has changed its format β€” the run fails with a clear status message instead of succeeding with an empty dataset, so a failed-run alert on a schedule catches it. A run whose filters match nothing still succeeds, with an empty dataset and a status line saying so. When fewer than half of the rows carry a company or a posted date, the run log prints a WARNING.

Remotive jobs scraper pricing: a worked cost example

You pay per job returned, on Apify's pay-per-event model, and nothing for platform usage on top: $0.006 per job on the Free and Bronze plans, $0.003 on Silver, $0.002 on Gold, Platinum and Diamond. Rows dropped by your filters are never billed, and a run that returns nothing costs nothing.

RunJobs returnedFree / BronzeSilverGold and above
A full run: the whole feed, typically under 30 listings30$0.18$0.09$0.06
A run on a daily schedule, 30 days (30 Γ— 30 jobs at most)900$5.40$2.70$1.80
A run whose filters match nothing0$0.00$0.00$0.00

maxItems is the hard ceiling: maxItems: 200 can never cost more than $1.20 on the Free plan. Apify's free plan includes a monthly usage credit, so a first run costs nothing out of pocket.

Use cases for Remotive job data

  • Curated remote tech and developer jobs. Remotive is hand-curated and smaller than the open boards, so it carries less noise per row β€” useful when precision matters more than volume.
  • Salary benchmarking and compensation data. salaryMin, salaryMax, salaryCurrency and salaryPeriod are numbers, not strings, and minSalary annualises before comparing β€” so hourly, monthly and yearly postings line up.
  • Filtering out expired and stale job postings. ghostRisk, ghostReason and freshness say which listings are probably no longer open, so you can drop them before anyone wastes an application.
  • Job market and hiring data. Run it on a schedule and track how hiring, salary ranges, seniority mix and regions move over time.
  • Building a job board, job feed or job alerts. id is stable across runs, so diffing today's dataset against yesterday's gives you genuinely new jobs rather than a board reshuffle.
  • Recruitment and talent research. Company, title, tags, seniority, employment type and normalised regions on every row.

Export as JSON, CSV or Excel, or read the dataset straight from the Apify API.

How this Remotive scraper fetches jobs

Remotive publishes a public, documented, unauthenticated JSON feed and this Actor reads it β€” paced, budgeted, with an honest user agent. No HTML scraping, no bot-check evasion, no personal data. Job adverts only.

How to scrape Remotive jobs with this Actor

  1. Open the Actor and press Start. With no input it returns the whole Remotive feed, typically under 30 live listings, best-first.
  2. Narrow it when you need to: search terms, hiring regions, seniority, a minimum salary, a maximum ghost-job risk, and maxItems as a hard cost ceiling.
  3. Export the dataset as JSON, CSV or Excel, read it through the Apify API, or schedule the run and attach a webhook or an integration (Google Sheets, Make, Zapier, Slack) so new Remotive jobs arrive on their own.

All eight share one schema, one ghost-job model and one set of filters, so a query written for this board runs unchanged against any of the others.

FAQ: scraping Remotive jobs

Does Remotive have an official API, and is it legal to scrape Remotive jobs? Remotive publishes a public, documented, unauthenticated JSON feed and this Actor reads it β€” paced, budgeted, with an honest user agent. No HTML scraping, no bot-check evasion, no personal data. Job adverts only.

How many Remotive jobs can one run return? Typically under 30. Remotive is curated and small, and the whole feed arrives in one call, so maxPagesPerSource has no effect here. For volume, use the aggregator below.

How often should I run this Remotive scraper, and can I get only the new jobs? A daily schedule keeps the dataset current. id is stable across runs, so diffing today's dataset against yesterday's yields only the genuinely new Remotive jobs, not a reshuffle; maxAgeDays set to 1 or 2 is the cheaper version of the same idea.

How do I get only fresh, still-open Remotive jobs? Set maxGhostRisk to low and maxAgeDays to 14 or 21. Every row also carries ghostReason, the plain-language grounds for its rating, so you can apply your own rule instead.

What is a ghost job? A posting that is still published but no longer open: a filled role left up for pipeline, an evergreen "talent pool" advert, or a listing on a board that never expires anything. The ghostRisk band and freshness score flag them from what the board itself publishes β€” age, expiry dates, missing application links, evergreen phrasing β€” never from a model's guess.

Does it include salary data? Where Remotive states pay, yes: free text such as "$70,000 - $120,000" is parsed into salaryMin, salaryMax, salaryCurrency and salaryPeriod, and wording that cannot be parsed stays in salaryRaw rather than becoming a wrong number.

Do I need proxies, a login or an API key? No. Remotive is read the way it asks to be read, and Apify runs the Actor for you; nothing to install and no credentials to manage.

Can I export Remotive jobs to CSV, Excel or Google Sheets? Yes. Every run's dataset downloads as JSON, CSV or Excel from the Apify Console or API, and the Google Sheets integration writes rows straight into a sheet.

Is this a remote job scraper I can run as an API? Yes. Apify runs every Actor from its API as well as the Console: start a run over HTTP with the same JSON input shown above, or put it on a schedule, then read the finished dataset as JSON, CSV or Excel. The dataset is the output; there is no separate query endpoint, so a scheduled run plus a dataset read is the API.

Can an AI agent use this Remotive scraper? Yes, through Apify's own MCP server, which exposes Store Actors as tools to Claude and other MCP clients. Nothing here is agent-specific: the agent sends the same JSON input and reads the same dataset.

How do I drop expired job listings? Set maxGhostRisk to low or medium and they are dropped before they are returned, so you do not pay for them. Every row that is returned carries ghostRisk (low, medium or high), ghostReason (the plain-language grounds, such as "board's own expiry date passed 3 days ago" or "posted 64 days ago") and freshness (0-1, decaying on a 21-day half-life, 0 once a published expiry date has passed), so you can apply your own rule after export instead. maxAgeDays drops anything older than N days, including rows with no posted date.

What does a Remotive job row not contain? No visa-sponsorship flag, no applicant counts, no recruiter emails or any personal data, and no company size β€” Remotive does not publish them in its feed, so they are not invented here. A blank seniority means the board never said; a blank salary means unpublished, not zero.

Want more than one board?

Remote Jobs Aggregator runs this same pipeline across six boards at once β€” Remote OK, Remotive, Himalayas, Arbeitnow, We Work Remotely and Jobicy β€” folding duplicates and recording which boards carry each job.

Measured while building it: those six boards barely overlap. Only 1 of 1,513 company+title pairs appeared on more than one. The aggregator is not about removing duplication β€” there is almost none β€” it is about getting six boards' worth of distinct jobs from one call.