Remotive Jobs Scraper
Scrape remote jobs from Remotive by keyword or category: company, region, salary, tags and plain-text descriptions. $2.00 per 1,000 jobs.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
search,category,maxItems(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.002 per job = $2 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Job returned | Charged per remote job returned. | $0.002 |
Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-06-13, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
search | Keywords to search remote jobs for (matches title, company, tags and description), e.g. "python", "react developer", "product manager". Leave empty to list the most recent jobs (optionally narrowed by Category). | string |
category | Optional Remotive category slug to filter by. Examples: software-development, customer-service, design, marketing, sales, product, business, data, devops, finance-legal, hr, qa, writing, all-others. Leave empty for all categories. | string |
maxItems | Maximum number of jobs to return. Used directly as the API limit, so the actor fetches them in a single request. Keep it to a few hundred at most. | integer |
notionConnector | Optional. Write each job as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default), results are always saved to the dataset regardless. | string |
notionParentId | Optional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead. | string |
What you get
A structured dataset — each result includes fields like:
categorycompanycompanyLogodescriptionidjobTypelocationpublishedAtsalarytagstitleurlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
3 ready-to-run use cases
Remote Python Jobs, Pulled From Remotive
Open remote Python roles with company, location rules, tags and the full description as text. Salary is only there when the employer published one.
Remote Customer Service Jobs From Remotive
Every open customer-service role on Remotive with company, job type and location restrictions, plus a readable description. Salary is often blank.
Remote Software Engineer Jobs From Remotive
Remote engineering roles as rows: company, tags, location rules, description. Notion delivery is a setting on the actor's own Input tab, not on this page.
Ready-made automation using this tool
A finished workflow you can import into n8n and run — this tool does the data-gathering inside it. Free, and yours to change.
A daily digest of new remote jobs, filtered
Checks Remotive every morning for jobs matching your search, drops anything already seen, and posts the new ones to Slack in one message. No duplicate alerts for a job you looked at yesterday.
Related tools in Job Market Scrapers
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
Multi-ATS Jobs Scraper (Greenhouse, Lever, Ashby)
Scrape open jobs from Greenhouse, Lever and Ashby boards. Get the title, location, department, posted date, description and apply link. $3.00 per 1,000.
LinkedIn Jobs Scraper
Scrape public LinkedIn jobs by keyword, location, URL or ID. Filter by date, workplace type and experience. Full descriptions. $0.80 per 1,000 jobs.
BuiltIn Jobs Scraper
Scrape Built In tech jobs: salary, all locations, skills, seniority, exact posted date. No login, no API key. $0.81 per 1,000.
Dice Jobs Scraper
Scrape Dice jobs: title, company, location, type, posting age and apply URL. Descriptions optional. No login. $0.90 per 1,000 jobs.
SEEK Jobs Scraper
Scrape SEEK jobs in Australia and New Zealand: salary ranges, workplace type and full descriptions. No login. $0.81 per 1,000, flat at every volume.
Career Site Jobs Scraper
Scrape open jobs from a career page, a domain or a company name. Works with 10 ATS platforms. Get title, location, department and apply URL.
Where this tool sits
- Categories
- Job Market Scrapers
- Platforms
- Job Boards & ATS
Remotive Jobs Scraper: remote job listings with salary, tags and full text
Search Remotive by keywords, by category, or just take the newest listings. Each row is one job: the title, the company, the category, the job type, the salary when the employer published one, the tag list, the publish date, the apply URL and the whole description as plain text.
Everything on Remotive is remote work. That does not mean you can be anywhere. location is the region the employer will hire from, and plenty of listings say "USA only" or "Europe only" while still being fully remote. Read that field before you treat a row as reachable.
| Input | Keywords, a category slug, or neither |
| Output | One row per job |
| Ceiling | 500 jobs per run |
| Account needed | None, and no API key |
| Price | $2.00 per 1,000 jobs, flat on every plan |
🔍 What Remotive Jobs Scraper does
One run asks Remotive once and turns the answer into rows. There is no paging to wait for, so a 500-job run takes about as long as a five-job one.
search matches across the title, the company, the tags and the description, so python catches jobs that never say Python in the title. category narrows by Remotive's own slugs: software-development, customer-service, design, marketing, sales, product, business, data, devops, finance-legal, hr, qa, writing and all-others.
Leave both empty and you get the most recent listings, which is the setup for a daily feed.
Jobs are deduplicated on Remotive's own id before anything is delivered, so a run cannot bill you twice for the same listing.
📥 What you give it
{
"search": "python",
"category": "software-development",
"maxItems": 100
}
| Field | Default | What it is |
|---|---|---|
search | none | Keywords matched against title, company, tags and description. The Console shows python as an example, but that is a prefill, so an API call has to send its own. |
category | empty | A Remotive category slug from the list above. Passed through exactly as you type it and not checked first, so spell it the way Remotive does. |
maxItems | 100 | 1 to 500. One request fetches them all, so this is the hard ceiling for a run. |
notionConnector | none | Optional. Writes every delivered job into your Notion. Authorise a connector once under Settings, API and Integrations, MCP connectors, then pick it here. |
notionParentId | none | Optional. The Notion data source id to write into. Leave it empty and the pages are created privately in your workspace. |
proxyConfiguration | off | Optional network setting. Off is right for a normal run. |
📤 What you get back
A real row from a recent run, with the description cut short here for length:
{
"ok": true,
"id": 1680495,
"title": "Remote Office Assistant",
"company": "Coalition Technologies ",
"companyLogo": "https://remotive.com/job/1680495/logo",
"category": "Marketing",
"jobType": "full_time",
"location": "Worldwide",
"salary": "$31,2k- $52k",
"tags": ["CSS", "excel", "frontend", "git", "html", "illustrator", "magento", "photoshop", "php", "shopify", "wordpress", "MySQL", "startup", "responsive", "themes", "bootstrap", "insurance", "jQuery", "Ajax"],
"publishedAt": "2026-09-11T20:16:48",
"description": "Coalition Technologies is seeking a reliable, detail-oriented, and highly organized Remote Office Assistant to support administrative, bookkeeping, billing, reporting, data entry, and internal operations tasks. ..."
}
| Field | What it is |
|---|---|
location | Where the candidate has to be. Worldwide really does mean anywhere. |
salary | Exactly the string the employer typed, which is why that one reads $31,2k- $52k. Expect ranges, currencies, hourly rates, and an empty string when they published nothing. Parse it defensively. |
jobType | Remotive's own wording, like full_time or contract. |
tags | The employer's tag list. Useful for filtering, but as you can see above it is not always tidy. |
publishedAt | Remotive's publication timestamp, with no timezone suffix. |
description | The full posting, HTML stripped to plain text. Line breaks survive, formatting does not. |
id | Remotive's job id. Your dedupe key across runs. |
companyLogo | A Remotive URL that redirects to the logo image. |
🧾 Reading the output
Jobs carry ok: true. Anything with ok: false carries an errorCode and is never charged.
| Code | What it means |
|---|---|
NO_RESULTS | Remotive answered with an empty list. Usually a keyword nobody has used, or a category slug that does not exist. |
RATE_LIMITED | Remotive asked the run to slow down and it could not finish. Try again shortly. |
NETWORK | Remotive was unreachable or answered with something unusable. Re-run it. |
One diagnostic row does not fail the run, so check for ok: false rather than run status.
The Console's Overview table shows title, company, location, job type, date and URL, and renders diagnostic rows as blank lines. Download the dataset as JSON, CSV or Excel for the description, salary and tags.
▶️ How to run it
1. Open Remotive Jobs Scraper and click Try for free. 2. Type into Search keywords, or leave it empty for the newest listings. 3. Put a slug into Category slug if you want one area only. 4. Set Max jobs, then click Start. 5. Download the dataset as JSON, CSV, Excel or XML.
💰 How much does it cost?
$2.00 per 1,000 jobs. Flat on every Apify plan, no volume tiers.
You pay per job row. Repeated listings inside a run are dropped before billing, diagnostic rows cost nothing, and a search that matches nothing does not charge you at all.
💡 What people use it for
- Running a daily remote-jobs feed into Slack or Notion with the search left empty and
maxItems
low.
- Building a filtered board for one stack, by searching the language and keeping only rows whose
location includes your region.
- Tracking which companies keep hiring remotely, by grouping on
companyacross weeks. - Reading salary text at scale to see what a role actually pays before applying.
🚧 What it does not do
- Remotive only. It does not reach other job boards or company career pages.
- No paging. 500 in one run is the ceiling. For more, run again with different keywords.
- No salary parsing. The field is whatever the employer typed, and it is often not a number.
- No date filter. Sort or filter on
publishedAtafter the fact. - No company profiles, no application, no contact details.
urlsends you to the listing. - Category slugs are not validated. A misspelt slug comes back as nothing found rather than a
correction.
- Rows are a snapshot. Listings get filled and taken down.
🧭 Which jobs scraper do you need?
| If you want | Use |
|---|---|
| Remote-only listings with full descriptions | This one |
| Startup roles and funding context | Wellfound Jobs Scraper |
| General listings from Indeed | Indeed Jobs Scraper |
| Listings from LinkedIn | LinkedIn Jobs Scraper |
| What employees say about a company | Glassdoor Reviews Scraper |
❓ Questions people ask
Do I need a Remotive account or key? No.
How do I get only jobs I can actually take? Filter on location. Worldwide is open, and anything naming a country or region is not.
Can I schedule it? Yes. Leave search empty, set maxItems to something small, run it daily and dedupe on id.
Why is salary blank? The employer did not publish one. Remotive does not invent it and neither does this.
Can I get more than 500 in one go? No. Split the work by keyword or category across several runs.
Is this legal? Remotive publishes these listings through an open API meant to be read, and job postings are company content rather than personal data. Apify's write-up on scraping and the law is a good starting point, and we are not lawyers.
🆘 If something breaks
Open the Issues tab on the actor page. Send the keywords, the category and the run id. The errorCode on the diagnostic row usually names the problem by itself.