Remote.co Jobs Search Scraper avatar

Remote.co Jobs Search Scraper

Deprecated

Pricing

from $2.99 / 1,000 remote.co remote job records

Go to Apify Store
Remote.co Jobs Search Scraper

Remote.co Jobs Search Scraper

Deprecated

Scrape remote job listings from Remote.co. Extract job titles, companies, locations, job categories, time zones, and application details for remote work recruitment and market analysis.

Pricing

from $2.99 / 1,000 remote.co remote job records

Rating

0.0

(0)

Developer

Jobs API

Jobs API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

11 days ago

Last modified

Share

What does Remote.co Public Jobs Search Scraper do?

This Actor collects public job listings from Remote.co, using its public category pages, official latest-jobs sitemap, and job-detail pages. It produces complete, source-backed job rows; absent source values are omitted rather than filled with guesses. Run diagnostics and access evidence are stored separately from job rows.

It is a focused Remote.co search/detail scraper, not a general web crawler. It uses ordinary HTTPS requests, sequential pacing, and no proxy, custom user-agent input, retry control, browser stealth, CAPTCHA solving, or access-control bypass.

Why use this Actor?

Use search mode to find roles by keyword and optional category, or single/multiple mode to retrieve exact public job-detail pages. Search discovery is bounded by page, candidate, item, timeout, and total-request limits. The Actor verifies requested and source job identity before accepting a detail record. Its normalized output keeps useful company, location, schedule, category, benefit, salary, eligibility, date, application, and description data when Remote.co publishes those fields.

What data can it extract?

GroupExamples
Identity and provenanceJob ID/code, title, canonical/detail URL, search URL, source, retrieval timestamps
Company and locationCompany name/website/logo, location text and parts, candidate regions, remote options
RoleSchedules, job types, career level, categories, education, benefits
DescriptionReadable text, source HTML when present, headings, sections, bullets, links, summary
Compensation and datesPublished salary/range, currency/unit, posted date label and normalized posted/created/expiry dates
VerificationCanonical and job-ID verification, detail status, HTTP receipts, data-quality measures

The dataset contains job records only. Diagnostics, including access-barrier evidence, are stored in the key-value store and reconciled with the OUTPUT summary. Canonical meaningful-field validation excludes runtime metadata and duplicate aliases and requires at least 21 populated source fields. No source field is fabricated to meet that threshold.

How to use it

  1. Choose search, single, or multiple mode.
  2. For search, provide a keyword and optionally a Remote.co category slug. For direct retrieval, provide an official job-detail URL or a jobs array.
  3. Set conservative result and request limits; requests are sequential and paced by at least one second.
  4. Run the Actor and inspect its dataset plus the separate OUTPUT and RUN_DIAGNOSTICS key-value records.

Input

Unknown keys are rejected. Legacy top-level query, keywords, and urls aliases are not accepted. Neither are headless, proxyConfiguration, custom userAgent, maxRetries, fixture/debug controls, or temporary context fields. The jobs item may use jobUrl or the existing nested url key (not both), plus an optional label.

FieldType and defaultBounds / use
modestring, searchsearch, single, or multiple; inferred from jobUrl/jobs if omitted
keywordstring, developer in search mode2–120 characters; terms filter search candidates
categorySlugstring, omitted1–80 lowercase alphanumeric/hyphen slug; search mode only
jobUrlstring, omittedRequired in single; absolute HTTPS remote.co/job-details/<slug> URL
jobsarray, omittedRequired in multiple; 1–100 objects with jobUrl or url, and optional label
maxItemsinteger, 31–100 complete job rows across the run
maxCandidatesinteger, 301–300 detail candidates inspected in search mode
maxPagesinteger, 11–10 category pages; sitemap fallback is separately bounded by maxRequests
includeDetailsboolean, trueComplete job rows require detail retrieval; false yields diagnostics instead of partial job rows
timeoutMsinteger, 200003000–120000 per request
requestDelayMsinteger, 10001000–10000 between sequential source requests
maxRequestsinteger, 601–500 total source request attempts

Examples:

{
"mode": "search",
"keyword": "developer",
"maxItems": 3,
"maxCandidates": 30,
"maxPages": 1,
"requestDelayMs": 1000,
"maxRequests": 60
}
{
"mode": "search",
"keyword": "data engineer",
"categorySlug": "developer",
"maxItems": 5,
"maxPages": 2,
"includeDetails": false
}
{
"mode": "single",
"jobUrl": "https://remote.co/job-details/data-engineer-f332b060-d92c-4f88-b9a1-59c970a215d5",
"maxItems": 1,
"requestDelayMs": 1000
}
{
"mode": "multiple",
"jobs": [
{ "jobUrl": "https://remote.co/job-details/data-engineer-f332b060-d92c-4f88-b9a1-59c970a215d5" },
{ "url": "https://remote.co/job-details/master-data-administrator-611df511-e711-4970-976f-2a6f6da5eb52", "label": "Second role" }
],
"maxItems": 2,
"requestDelayMs": 1000,
"maxRequests": 5
}

Output and access behavior

Job rows have recordType: "remote-co-job" and contain only normalized source-backed fields; optional values are omitted. The parser's canonical helper and local validator require at least 21 meaningful source fields. Raw sourceRecord payloads are not part of the public dataset. Diagnostics are separate and do not count as jobs.

HTTP 401, 403, 429, or 451 responses, or a visible source-authored access denial/CAPTCHA/human-verification/security challenge, are terminal: the run is SKIPPED, stops requests, discards staged job rows, and preserves the evidence. Generic transport or browser-tool failures are not proof the source blocked access; they are DEFERRED when no rows are available or PARTIAL when some validated rows remain.

Example access summary:

{
"status": "SKIPPED",
"accessStatus": "SKIPPED",
"sourceBlocked": true,
"blockEvidence": "HTTP 403",
"recordsStored": 0,
"diagnosticCount": 1,
"requestAttempts": 1
}

Example separate diagnostic:

{
"recordType": "remote-co-diagnostic",
"recordStatus": "diagnostic",
"type": "SOURCE_ACCESS_BLOCKED",
"error": "HTTP 403",
"sourceBlocked": true,
"blockEvidence": "HTTP 403"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Cost and responsible use

Local validation does not incur an Apify Cloud run. In a Cloud deployment, compute use is driven mainly by category/sitemap requests and sequential detail requests; increasing page, candidate, item, timeout, or total-request limits can increase runtime. This Actor has no retry or concurrency input, and its minimum request delay is one second. No fixed price is promised; consult the current Apify pricing page for your account and Actor plan.

This code change was validated locally only. No Apify Cloud push, remote run, API call, or schedule was performed. To troubleshoot, inspect OUTPUT and RUN_DIAGNOSTICS, then include the run ID and summary in the Actor's Issues tab. The API tab documents Apify's API access to a run's dataset and key-value store.

Use public information responsibly. Follow Remote.co's terms, robots guidance, and rate limits, and comply with applicable privacy and data-protection laws. This Actor is not affiliated with or endorsed by Remote.co; output may contain personal data voluntarily published in job descriptions, so use it only for a lawful purpose.