Remote Jobs Scraper & API: Direct From Company Career Sites avatar

Remote Jobs Scraper & API: Direct From Company Career Sites

Pricing

from $1.00 / 1,000 jobs

Go to Apify Store
Remote Jobs Scraper & API: Direct From Company Career Sites

Remote Jobs Scraper & API: Direct From Company Career Sites

Search remote jobs straight from company career sites on Greenhouse, Lever, Ashby, Workable and more. Every job is checked live, and closed jobs are not charged.

Pricing

from $1.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Velavalapalli Mohana Durga Sai Ram

Velavalapalli Mohana Durga Sai Ram

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 minutes ago

Last modified

Security

Limited permissions

Share

What does Remote Jobs Scraper do?

Search remote jobs straight from company career sites on Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Personio and Breezy. About 97,000 open remote jobs are indexed, about 10,000 of them naming no country. Every job is checked live at its source during your run, and closed jobs are skipped at no charge.

Use it as a job postings API or a jobs scraper: send keywords, places and filters, and get back clean records with pay, skills, seniority, workplace type and visa wording already pulled out. The data is ready for a job board, a recruiting pipeline, an AI agent or a sales list.

Why use Remote Jobs Scraper?

  • No dead links. Each job is read from the employer's own applicant tracking system while your run is in progress. If the job has closed, it is dropped and you pay nothing for it.
  • Location search that understands people. Type Bangalore or Bengaluru, UK or United Kingdom, a city, a state or a country code. A city returns jobs in that city, not the whole country.
  • Predictable cost. You pay per job returned. Set Maximum jobs and you know your top cost before the run starts.
  • Daily feeds without repeats. Turn on Only jobs not returned before, schedule the Actor, and each run delivers only the jobs you have not seen.
  • Direct from employers. Results come from company job boards, not from reposted aggregator listings.
  • Works with your tools. Run it through the API, on a schedule, with webhooks, or from Zapier, Make, n8n, Google Sheets and AI agents.

Who uses job postings data like this?

  • Job boards that fill a niche with fresh, direct-apply listings for one field or region.
  • Sales teams looking for buying signals: a company hiring its third SDR or naming Salesforce in a posting is telling you something.
  • AI agents and automations that search jobs in n8n, Make, Zapier or your own code.
  • Researchers tracking who is hiring, what they pay and which tools they ask for.

What data can Remote Jobs Scraper extract?

FieldTypeDescription
title, companytextJob title as the employer wrote it, and the hiring company
location, countriestext, listLocation text and ISO country codes
workplaceTypetextremote, hybrid, onsite or unspecified
salaryobjectStated pay with min, max, currency and period
skillslistTools and technologies named in the description
seniority, categorytextDetected level, such as senior, and job family, such as data_ai
visaSponsorshiptextoffered or not_offered when the posting says so
postedDate, firstSeenDatedateWhen the job was posted, and when this index first saw it
jobUrl, applyUrl, careersPageUrllinkThe posting, the application form and the company's job board
descriptiontextFull description, read live during your run
verifiedLive, checkedAtyes/no, dateProof that the job was open when you received it

How to scrape remote jobs from company career sites

  1. Enter job title keywords, such as data engineer or "account executive".
  2. Add locations and any other filters, or leave them empty.
  3. Set Maximum jobs and click Start.
  4. Download the results, or read them through the API.

Example input

{
"titleKeywords": [
"software engineer",
"data engineer"
],
"locations": [
"Europe"
],
"postedWithinDays": 7,
"maxResults": 200
}

How much does it cost to scrape remote jobs?

You pay per job returned, and higher Apify plans pay less per job. The pricing panel on this page shows the price for your plan. On the Free and Starter plans:

Jobs returnedCost
100$0.15
1,000$1.50
10,000$15.00

Closed jobs and jobs rejected by your description filters are not charged. Platform usage is included, so there is no separate compute bill, and Apify's free plan credit covers your first few thousand jobs each month.

Input

See the Input tab for every option. The ones that matter most:

OptionWhat it does
Job title keywordsMatch any entry. Words in any order, or use double quotes for an exact phrase
Exclude title keywordsSkip titles containing these
LocationsCity, state, country or area such as "Europe", in plain words
Only jobs that name no countryRemote jobs whose posting names no country or region
Posted within the last N days1 for today, 7 for a week, 0 for any date
Only these companiesNames, board names or website domains
Only these sourcesLimit to specific applicant tracking systems
Seniority, category, employment typeStructured filters
SkillsTools and technologies named in the description
Only jobs that state pay, minimum yearly payPay filters
Visa and clearance filtersBased on the wording in the description
Description keywordsChecked against the live description. You pay only for jobs that pass
Only jobs not returned beforeFor scheduled runs: delivers only new jobs

Output

Download the dataset as JSON, CSV, Excel, XML, RSS or HTML. Each job looks like this:

Example output

{
"id": "greenhouse:acme:5470571008",
"title": "Senior Data Engineer",
"company": "Acme",
"location": "Berlin, Germany",
"countries": ["DE"],
"workplaceType": "remote",
"employmentType": "full_time",
"seniority": "senior",
"category": "data_ai",
"department": "Data",
"postedDate": "2026-11-04",
"firstSeenDate": "2026-11-05",
"salary": { "min": 80000, "max": 100000, "currency": "EUR", "period": "year" },
"skills": ["python", "snowflake", "dbt", "airflow"],
"visaSponsorship": "offered",
"securityClearanceRequired": false,
"jobUrl": "https://job-boards.greenhouse.io/acme/jobs/5470571008",
"applyUrl": "https://job-boards.greenhouse.io/acme/jobs/5470571008",
"careersPageUrl": "https://job-boards.greenhouse.io/acme",
"source": "greenhouse",
"verifiedLive": true,
"checkedAt": "2026-11-05T17:59:14.051Z",
"description": "About the role..."
}

Tips for faster and cheaper runs

  • Set Posted within the last N days. Reading one week of jobs is much faster than reading every date.
  • Turn off Include full job description when you only need the structured fields.
  • Put a title in double quotes for an exact phrase, such as "product manager".
  • For daily feeds, keep the same filters or set a History name, so Only jobs not returned before keeps its memory.

Use Remote Jobs Scraper with the API and AI agents

Start a run and read the results with the Apify API client for Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('atsfeed/remote-jobs-search').call({
titleKeywords: ['data engineer'],
locations: ['Germany'],
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Or for Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("atsfeed/remote-jobs-search").call(run_input={"titleKeywords": ["data engineer"], "maxResults": 100})
items = client.dataset(run["defaultDatasetId"]).list_items().items

AI agents in Claude, ChatGPT, Cursor or any MCP client can call this Actor as a tool through the Apify MCP server at mcp.apify.com. The API tab on this page has more examples.

FAQ

This Actor reads public job listings from endpoints that the job board vendors publish for displaying jobs. It does not log in, solve CAPTCHAs or get around access controls, and it does not collect recruiter contact details. Postings belong to the employers who publish them, so follow the rules that apply to how you reuse them, and link back to the original job when you display it.

How fresh are the jobs?

The index is rebuilt every day, and each job is checked live at its source while your run is in progress.

Why did I get fewer jobs than I asked for?

Closed jobs and duplicates are skipped. Try fewer filters, a longer date window or broader keywords.

Can I get only new jobs every day?

Yes. Turn on Only jobs not returned before and schedule the Actor. Each run skips the jobs it already delivered to you.

Which job sites does it cover?

Public job boards on Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Personio and Breezy. It does not include LinkedIn, Indeed or other job boards.

Coverage and accuracy

  • Index size, November 2026: about 97,000 open remote jobs, about 10,000 of them naming no country.
  • A job counts as remote when the employer marks it remote or its location says so. countries lists the countries a remote job names. An empty list means the posting names none, which can still mean one country in practice, so check the description.
  • Coverage is limited to public job boards of the supported systems and is refreshed daily. It does not include LinkedIn, Indeed or other job boards, or systems not listed above. Run-time summary numbers are saved in the SUMMARY record of each run.
  • Skills, seniority, category, salary found in text and visa wording come from fixed rules applied to the employer's own words. They are helpful but can be wrong, so check what matters. Visa and clearance values show what a posting says, not legal status.
  • Some sources do not state a posting date. In that case the date this index first saw the job is used.
  • Skills and visa wording are only available for jobs where the source shared a description when indexed. Filters on those fields skip jobs without them.

Questions

Found a wrong result, or want another source added? Open an issue on the Issues tab with an example.