Jobspresso Remote Jobs Scraper — Jobs API & Apply Links
Pricing
from $17.00 / 1,000 remote job records
Jobspresso Remote Jobs Scraper — Jobs API & Apply Links
Scrape Jobspresso remote jobs by keyword, location, and category: title, company, description, apply link. A remote jobs API for job boards. $20 per 1,000.
Pricing
from $17.00 / 1,000 remote job records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
2
Monthly active users
10 days ago
Last modified
Categories
Security
Limited permissionsShare
Jobspresso Remote Jobs Scraper exports remote job listings from Jobspresso as JSON: job title, company, company website, remote location, category, employment type, posting date, full description, and the employer's application URL. It is built for recruiters, job-board builders, remote-work researchers, and AI agents, and costs USD 20 per 1,000 jobs on the Apify FREE tier (USD 17 per 1,000 on GOLD and above).
You can search by keyword, remote-eligibility location, Jobspresso category, and employment type, or paste Jobspresso archive URLs. Every run reads the live listings, removes duplicate jobs, and returns one clean record per job through the Apify API, MCP, or a dataset export (JSON, CSV, Excel).
What does the Jobspresso Remote Jobs Scraper return?
Each job is one dataset record with 18 fields. A value the listing does not publish is null, never guessed.
| Field | What it contains |
|---|---|
jobId | Jobspresso job ID, for example 164284 |
title | Job title |
company, companyTagline | Employer name and its one-line tagline |
companyWebsite | Employer website |
location | Remote-eligibility region, for example United States, Canada, Europe, or Asia-Pacific |
remote | Always true (Jobspresso lists remote roles only) |
jobTypes | Jobspresso categories, for example developer, marketing, ai data |
employmentTypes | For example full time or contract, when the listing is tagged |
postedAt | Posting timestamp |
description | Full job description as plain text |
salary | Salary text when the listing publishes one (most do not) |
applicationUrl | Where to apply, usually the employer's careers page or applicant tracking system |
jobUrl | The Jobspresso job page |
logoUrl | Company logo |
source, searchQuery, scrapedAt | Source site, the keyword that found the job (empty for the all-jobs search), and collection time |
The fields description, companyWebsite, salary, applicationUrl, and employmentTypes come from each job's detail record, so they need includeDetails: true, which is the default.
How do I scrape Jobspresso remote jobs by keyword, location, or category?
Fill any combination of these filters; leave a filter empty to include everything.
{"searchQueries": ["software engineer", "product manager"],"locations": ["United States", "Europe"],"jobTypes": ["developer", "product-mgmt"],"employmentTypes": ["full-time"],"maxResults": 100,"maxPages": 5,"includeDetails": true}
- Keywords and locations. The Actor runs one search for every keyword and location pair, so the input above runs four searches. Results are deduplicated by job ID across searches.
- Categories (
jobTypes).ai-data,designer,developer,marketing,various,product-mgmt,sales,support,writing. All nine are selected by default. - Employment types.
full-time,part-time,contract,freelance,internship. - Archive URLs (
startUrls). Paste URLs such ashttps://jobspresso.co/jobs/?search_keywords=python&search_location=Canada. Thesearch_keywordsandsearch_locationparameters are used, andsearchQueriesandlocationsare then ignored. - Size. Jobspresso returns 20 jobs per result page.
maxPages(1–20, default 3) caps pages per search, andmaxResults(1–200, default 20) caps the whole run. - Faster, lighter runs. Set
includeDetails: falseto keep only the listing-card fields (title, company, tagline, location, category, posting date, logo, job URL).
How do I call it from code?
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/jobspresso-remote-jobs-scraper').call({searchQueries: ['software engineer'],locations: ['United States'],jobTypes: ['developer', 'ai-data'],maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((job) => `${job.company}: ${job.title} -> ${job.applicationUrl}`));
from apify_client import ApifyClientclient = ApifyClient("MY_APIFY_TOKEN")run = client.actor("muhammadafzal/jobspresso-remote-jobs-scraper").call(run_input={"searchQueries": ["customer support"],"locations": ["Canada"],"employmentTypes": ["full-time"],"maxResults": 40,})jobs = client.dataset(run.default_dataset_id).list_items().items
You can also start it from Apify Console, a schedule, a webhook, Make, Zapier, or n8n.
Use it from an AI assistant
Jobspresso Remote Jobs Scraper works from Claude, ChatGPT, Cursor, or any MCP client through Apify's MCP server. Add https://mcp.apify.com/?tools=muhammadafzal/jobspresso-remote-jobs-scraper as a server and ask in plain language, for example: "Find 30 remote full-time developer jobs on Jobspresso open to people in Canada and list company, title, and the apply link." The assistant sees the input fields and the price per job before it runs the tool.
What does the output look like?
Two records from the default all-jobs run on 2026-10-26, with descriptions shortened:
[{"jobId": "164284","title": "Delivery Operations Analyst","company": "Cohere","companyTagline": "AI for Empowerment. We build private systems for enterprise, and open-source models for builders, to help people lead better lives.","companyWebsite": "https://cohere.com/","location": "Canada","remote": true,"jobTypes": ["various"],"employmentTypes": ["full time"],"postedAt": "2026-10-25T07:41:35","description": "Who Are We? Cohere is the leading security-first enterprise AI company...","salary": null,"applicationUrl": "https://jobs.ashbyhq.com/cohere/3906eb1d-932f-485a-8f77-e8cc31859fdd","jobUrl": "https://jobspresso.co/job/delivery-operations-analyst/","logoUrl": "https://jobspresso.co/wp-content/uploads/cohere-150x150.png","source": "https://jobspresso.co","searchQuery": "","scrapedAt": "2026-10-26T07:52:56.699Z"},{"jobId": "164282","title": "Director of Product Management, Observability","company": "Elastic","companyWebsite": "https://www.elastic.co/","location": "United Kingdom","remote": true,"jobTypes": ["product mgmt"],"employmentTypes": [],"postedAt": "2026-10-25T07:33:24","salary": null,"applicationUrl": "https://jobs.elastic.co/jobs/engineering/united-kingdom/director-of-product-management-observability/8312171","jobUrl": "https://jobspresso.co/job/director-product-management-observability/"}]
Each run also writes SUMMARY and OUTPUT to the key-value store: status (data or empty), job count, result pages fetched, searches run, and warnings.
Pricing: how much do 1,000 Jobspresso jobs cost?
You pay per job delivered plus a small start fee. Platform usage is included in these prices.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| Remote job record (each job) | $0.02 | $0.019 | $0.018 | $0.017 | $0.017 | $0.017 |
| Actor start, per started GB of allocated memory | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 |
The default run uses 1 GB of memory, so it pays one start event. Worked totals:
- The default 20 jobs on FREE: $0.005 + 20 × $0.02 = $0.405.
- The run maximum of 200 jobs on GOLD: $0.005 + 200 × $0.017 = $3.405.
Set maxResults and Apify's maximum total charge per run to bound spend. A search with no matches costs only the start fee.
When should I use it, and when not?
Use it when you need:
- a feed of remote roles for a job board, newsletter, or Slack alert, refreshed on a schedule;
- hiring-trend research: which companies hire remotely, in which categories and regions;
- job descriptions and application links for an AI agent, matching tool, or RAG index.
Use something else when you need:
- other remote job boards: We Work Remotely Jobs Scraper or Working Nomads Remote Jobs Scraper;
- jobs straight from a company's applicant tracking system: Ashby Jobs API Scraper or Greenhouse Jobs Scraper;
- listings with salary estimates and company ratings: Glassdoor Jobs Scraper;
- what employees say about an employer: Blind Company Reviews & Salary Scraper;
- on-site or hybrid roles, or more than 200 jobs in one run: this Actor does not provide either.
Limits and reliability
- A run returns at most 200 jobs. For more, split the work across several runs with different keywords or categories.
salaryis filled only when Jobspresso publishes pay; none of the 20 jobs in the 2026-10-26 default run did.- The default 20-job run with details took about 25 seconds on 2026-10-26.
- Listings change: a job can close after it is collected. Check
applicationUrlbefore you republish or apply. - If a detail record cannot be read, the job is still returned with its listing-card fields and a warning in
SUMMARY.
FAQ
Can I get Jobspresso jobs through an API?
Yes. Call this Actor with apify-client (JavaScript or Python), the Apify REST API, or MCP, and read the JSON dataset. You do not need to parse Jobspresso pages yourself.
How many jobs can I get in one run?
Up to 200. Jobspresso serves 20 jobs per result page, so raise maxPages and maxResults together for bigger pulls.
Does it include salaries?
Only when the listing states one, in the salary field. Most Jobspresso listings do not publish pay.
How fresh is the data?
Every run reads the current listings, and postedAt shows when each job was posted. Schedule the Actor daily or hourly to catch new roles.
Are the jobs verified?
The Actor returns what Jobspresso publishes and does not vet employers. Each record carries the employer's website and application URL, so you can check the company before applying or reposting.
Do I need a Jobspresso account, API key, or proxy?
No. The Actor reads public listings and handles data access itself.
Can an AI agent run it by itself?
Yes. Through Apify's MCP server an agent reads the input schema and the price per job, runs the Actor, and receives the dataset. Keep maxResults modest for autonomous runs.
Related Actors
- We Work Remotely Jobs Scraper: remote jobs from We Work Remotely.
- Working Nomads Remote Jobs Scraper: remote jobs from Working Nomads.
- Djinni.co Jobs Scraper: remote tech jobs from Djinni.
- Glassdoor Jobs Scraper: job listings with salary and company ratings.
- Blind Company Reviews & Salary Scraper: employee reviews and salary submissions.
- From the same jobs, events, news, and reviews collection: Google Events API & Scraper, FreightWaves News Scraper, and Google Play Reviews Scraper.
Compliance note
The Actor collects public job listings only. It does not log in or bypass access controls. Respect Jobspresso's terms, keep links to the original listings when you republish, and follow the privacy and employment rules that apply to your use.
Last verified: 2026-10-26