Jobspresso Remote Jobs Scraper
Pricing
from $3.00 / 1,000 remote job records
Jobspresso Remote Jobs Scraper
Scrape public Jobspresso remote jobs by keyword, location, category, or employment type. Return normalized titles, companies, locations, descriptions, salaries, application URLs, and source links for recruiting and remote-work research.
Pricing
from $3.00 / 1,000 remote job records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
4
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape public remote job listings from Jobspresso, including title, company, location, categories, employment type, description, salary metadata, application URL, and source links.
The actor uses Jobspresso’s public job-listing AJAX endpoint for pagination and its public WordPress REST records for details. It does not log in, submit credentials, bypass CAPTCHA/challenges, or fabricate records when a public endpoint is unavailable.
Example input:
{"searchQueries": ["software engineer"],"locations": ["United States"],"jobTypes": ["developer", "ai-data"],"maxResults": 20,"maxPages": 3,"includeDetails": true}
Each dataset item is one job. The actor charges $0.003 per dataset item under Pay per event, plus normal Apify compute/network usage. The run writes SUMMARY and OUTPUT diagnostics to the default key-value store.
Job availability, application links, and compensation can change. Verify important details with the employer before applying. Respect Jobspresso’s terms, robots guidance, rate limits, and applicable law.
What data does Jobspresso Remote Jobs Scraper return?
| Field | Type | Description |
|---|---|---|
jobId | string | Job ID |
title | string | Job title |
company | string or null | Company |
companyTagline | string or null | Company tagline |
companyWebsite | string or null | Company website |
location | string or null | Remote location |
remote | boolean | Remote |
jobTypes | array | Job categories |
employmentTypes | array | Employment types |
postedAt | string or null | Posted at |
description | string or null | Description |
salary | string or null | Salary |
applicationUrl | string or null | Application URL |
jobUrl | string | Jobspresso URL |
logoUrl | string or null | Logo URL |
source | string | Source |
searchQuery | string or null | Search query |
scrapedAt | string | Scraped at |
Use cases
- Research open roles, employers, locations, and hiring-market trends.
- Supply structured public data to AI, RAG, enrichment, or evaluation workflows.
- Schedule repeatable collection and export results to downstream workflows.
- Run a one-off research job and export the structured result as JSON, CSV, Excel, XML, or RSS from Apify.
- Schedule the same input to monitor changes over time and send completed datasets to a webhook or integration.
Input
| Field | Type | Description |
|---|---|---|
searchQueries | array | Keywords, job titles, or company names to search on Jobspresso. Defaults to all jobs. |
locations | array | Remote eligibility locations such as United States, Canada, or Europe. Defaults to all locations. |
jobTypes | array | Jobspresso categories: ai-data, designer, developer, marketing, various, product-mgmt, sales, support, writing. |
employmentTypes | array | Optional employment filters: full-time, part-time, contract, freelance, internship. |
startUrls | array | Optional public Jobspresso archive URLs. Query parameters search_keywords and search_location are used when present; otherwise the actor uses the all-jobs search. |
maxResults | integer | Maximum unique jobs to return, from 1 to 200. |
maxPages | integer | Maximum Jobspresso result pages to request for each search, from 1 to 20. |
includeDetails | boolean | Fetch the public WordPress REST record for description, salary, company, and application fields. Defaults to true. |
maxRequestRetries | integer | Retries for temporary public endpoint failures, from 0 to 5. |
Output example
{"jobId": "Example Job ID","title": "Example Job title","company": "Example Company","companyTagline": "Example Company tagline","companyWebsite": "Example Company website","location": "Example Remote location","remote": false,"jobTypes": [],"employmentTypes": [],"postedAt": "Example Posted at","description": "Example Description","salary": "Example Salary"}
The exact fields depend on the selected input and what the public source exposes. Use the dataset schema as the machine-readable contract and retain source URLs for verification.
Run Jobspresso Remote Jobs Scraper with the Apify API
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": [""],"locations": [""],"jobTypes": ["ai-data","designer","developer","marketing","various","product-mgmt","sales","support","writing"],"employmentTypes": [],"startUrls": [],"maxResults": 20,"maxPages": 3,"includeDetails": true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
You can also run the Actor from Apify Console, schedules, webhooks, the REST API, Make, Zapier, n8n, or the hosted Apify MCP server.
Pricing and cost control
This Actor uses pay-per-event pricing. Charges follow the live event definitions shown below.
| Event | Price (USD) | When it is charged |
|---|---|---|
apify-actor-start | $0.00005 | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
apify-default-dataset-item | $0.003 | One normalized public Jobspresso remote job written to the default dataset. |
For example, 100 apify-default-dataset-item events cost $0.3, plus any enabled Actor-start event. Empty or failed work should be checked in the run log and dataset before reuse.
Reliability and limitations
Public websites and upstream APIs change over time. Start with a small result limit, inspect the dataset and run log, and keep a known-good input for scheduled canary runs. A valid query can return no records when the source has no matches. If a run is blocked, rate-limited, or missing an expected field, reduce concurrency or scope where the input supports it and include the run ID in a support report.
The Actor does not guarantee that every optional field is present on every record. Treat absent values as unavailable from that source response, not as proof that the real-world value does not exist.
Responsible use
Use this Actor only for data you are authorized to access. Follow the target website's terms, robots and access policies, and applicable privacy, database, copyright, anti-spam, and data-protection laws. Do not use it to bypass authentication or other access controls, collect private data, harass people, or make high-impact decisions without independent verification.