Remote Jobs Scraper: Company Career Sites icon

Remote Jobs Scraper: Company Career Sites

Scrape remote jobs straight from company career sites - Greenhouse, Lever, Ashby, Workable and more, no aggregator spam. Filter by title, country, seniority, salary; get only new jobs on a schedule. Clean data with salary, skills and location.

$2 per 1,000 jobupdated 2026-11-06
Try it

Build the input, get the call

Change any field; the code on the right follows. Copy it, or run the same input on Apify.

Leave empty to scan the built-in company directory. Or type company names (`Datadog`, `Ramp`) to scan only those - each is looked up on every supported job board system.

Or paste careers pages - the company's own (`https://www.figma.com/careers`) or its job board (`https://jobs.lever.co/palantir`). The job board behind the page is found automatically.

With no company given: how many directory companies to scan in one run (biggest boards first).

Maximum number of jobs to return.

Cap per company so one big employer can't fill the list. Directory scans default to 10.

Filters

Keep a job only if its title contains any of these words (case-insensitive), e.g. `engineer`, `developer`.

Drop a job whose title contains any of these words (case-insensitive), e.g. `intern`, `manager`.

Keep only jobs in these countries: 2-letter codes (`US`, `GB`, `DE`, `IN`) or names. The country comes from the board when it gives one, otherwise from the location text.

Keep a job only if its location contains any of these (case-insensitive), e.g. `Berlin`, `Remote`.

Keep only jobs posted in the last N days. Jobs whose board doesn't publish a date are kept.

Keep only these work arrangements. Jobs whose posting doesn't state it are dropped when this is set.

Keep only these employment types.

Keep only these seniority levels.

Keep only these job functions (engineering, data, sales, ...).

Keep a job only if its title, description or skills mention any of these, e.g. `Kubernetes`, `Python`, `SQL`.

Drop jobs from companies whose name contains any of these, e.g. staffing agencies.

Keep jobs paying at least this per year (hourly and monthly pay are converted), in the posting's currency. Jobs that don't publish pay are kept unless "Only jobs with salary" is on.

Keep only jobs that publish their pay.

Keep only jobs whose posting says visa sponsorship is available.

Open each job's own page for extra fields where the list is thin (e.g. LinkedIn: full description, seniority, employment type, applicant count). Slower - one extra request per job - and only done for jobs that pass your filters.

Monitoring

Emit only jobs that no earlier run with the same sources (or the same state key) has already delivered. Ideal for scheduled runs - you pay only for new results.

Return only jobs that are new, changed or closed since the last run with the same input (or monitor name): changed jobs carry `changeType: "changed"` and `changes` with the old and new salary, location, title or work mode; jobs taken down...

Some marketplaces pay referral bonuses. When available, jobs get an extra `referralUrl` that may credit the Actor's maintainer. Job links and `applyUrl` are never changed. Turn off to omit the field.

Output

What you get back

The fields every row has.

FieldWhat it holds
titleJob title
company / companySlugCompany name and its board handle
location / locationsLocation as listed, and every listed location
city / region / country / countryCodeStructured location (ISO country code)
workMode / remoteremote, hybrid or onsite - only when the posting says so
employmentTypefull_time, part_time, contract, internship, temporary, freelance
seniorityintern, junior, mid, senior, lead, principal, director, executive
yearsExperienceMin / yearsExperienceMaxRequired experience, when stated
jobFunctionEngineering, data, product, design, sales, marketing, AI training, ...
skillsSkills named in the posting
salary{min, max, currency, period, annualMin, annualMax} when pay is published
educationLevel / visaSponsorshipDegree asked for, and visa sponsorship when stated
department / teamOrganization details, when available
summary / descriptionShort summary and full description
url / applyUrlPosting and apply links
postedAtIso / postedDaysAgoPosting date (ISO 8601) and its age in days
source / scrapedAtWhere the job came from and when it was collected

Download as JSON, CSV, Excel or XML from the run, or have it sent to Google Sheets, Slack or a webhook.

Guide

How Remote Jobs Scraper works

Inputs, options and tips, from the tool's own documentation.

Remote jobs straight from company career sites - as a clean, spreadsheet-ready dataset. Scans hundreds of company job boards (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Rippling and more) plus the Remote OK, Jobicy, Working Nomads and Himalayas feeds, and keeps only the roles the posting marks as remote - one clean format, every job linked to its source.

Export to JSON, CSV or Excel, send to Google Sheets or your database, or call it as an API from your own app or AI agent.

Built for remote job boards and newsletters, job seekers who want every new remote opening first, recruiters sourcing for distributed teams, and analysts tracking remote-work trends.

Why this scraper

  • Straight from the employer. Jobs come from companies' own job boards, so they're current, complete and link to the real application page.
  • No setup. Press Start with no input and it scans a directory of verified company boards. Or name companies, or paste their careers pages - the job board behind each page is found for you.
  • One clean format. Structured city/region/country (ISO code), remote/hybrid/on-site, employment type, seniority, experience, job function, skills, and salary converted to a yearly figure.
  • Monitoring built in. Only new jobs returns just postings earlier runs haven't delivered; Changes only adds changed and taken-down jobs. You pay only for what's new.
  • Fast and cheap to run. Quick to run. Rate limits and server hiccups are handled automatically, and a run never double-charges if it's restarted.
Every job is remote - the posting or its job board says so ("this is not a remote position" is recognised and left out).

How to use it

  1. Press Start to scan the built-in company directory, or fill Company names / Career page URLs to scan only those companies.
  2. Narrow results with the Filters: title words, countries, posting age, work mode, seniority, job function, skills mentioned, minimum salary, visa sponsorship, companies to skip.
  3. Download results from the Output tab, or connect Slack, Google Sheets, Zapier, Make or a webhook.

Example input

json
{
  "titleIncludes": [
    "engineer"
  ],
  "countries": [
    "US",
    "CA"
  ],
  "postedWithinDays": 7,
  "maxItems": 500,
  "onlyNew": true
}

Monitor new jobs on a schedule

Turn on Only new jobs and schedule the Actor (hourly, daily, weekly). Each run returns only postings earlier runs haven't delivered, and you're charged only for those.

Use it as an instant API

The Actor also runs in Standby mode - an always-ready endpoint that returns jobs in the response. Find the URL on the Standby tab:

bash
curl "https://<standby-url>/?titleIncludes=engineer&maxItems=20" \
  -H "Authorization: Bearer <YOUR_APIFY_TOKEN>"

Pricing

Pay per result: $2 per 1,000 jobs plus a small start fee per run. Filtered-out, duplicate and (with Only new jobs) already-seen jobs are free. See the Pricing tab for exact rates, and set a maximum charge per run to cap spend.

On Apify's free plan each run returns up to 500 jobs. Any paid Apify plan removes the limit.

Questions

Questions about Remote Jobs Scraper

Where do the jobs come from?

From the companies' own job boards, read directly. With no company given, the Actor scans its directory of 260+ verified company boards, the ones with the most remote jobs first, at most 10 jobs per company so one employer can't fill the list. Type company names or paste careers pages to scan those instead.

How do you know a job is remote?

Only when the posting or its job board says so: a remote flag, "Remote" in the location or title, or a clear sentence like "this is a fully remote role". Postings that say they're not remote are left out.

Is it legal?

The Actor collects publicly listed job postings. You're responsible for how you use the data - for personal data in descriptions, follow the laws that apply to you (e.g. GDPR).

How much does Remote Jobs Scraper cost?

$2 per 1,000, charged only for jobs returned; a run that finds nothing costs nothing. It runs on Apify, whose free plan includes monthly credit, so you can try it without paying.

Do I need to write code?

No. Fill in the form on Apify and press Start, schedule it, or send the results to Google Sheets, Slack or a webhook. For code, the input builder on this page writes the API call in curl, Python or JavaScript.

What does Remote Jobs Scraper return?

Every row has the same fields, including title, company / companySlug, location / locations, city / region / country / countryCode, workMode / remote, employmentType, seniority, yearsExperienceMin / yearsExperienceMax. Download as JSON, CSV, Excel or XML.

Can an AI agent use it?

Yes. The webdata-tools-mcp server exposes it to Claude, Cursor and other MCP clients as find_remote_jobs.

Can it run on a schedule and return only new results?

Yes. Schedule it on Apify (hourly, daily, weekly) and turn on the only-new option: each run then returns only what appeared since the last run with the same input.

Use cases

What people use Remote Jobs Scraper for

  • Run a remote job board with fresh postings
  • Find remote roles straight from employers
  • Remote work market research

Also searched as

remote jobs API work from home jobs scraper remote job board feed remote jobs from company sites distributed team jobs remote jobs to CSV

Categories

Jobs and hiring Jobs Lead generation