RemoteOK Jobs Scraper - Search & All Current Remote Jobs avatar

RemoteOK Jobs Scraper - Search & All Current Remote Jobs

Pricing

from $2.00 / 1,000 results

Go to Apify Store
RemoteOK Jobs Scraper - Search & All Current Remote Jobs

RemoteOK Jobs Scraper - Search & All Current Remote Jobs

Search current RemoteOK jobs by keyword or export all current remote roles with salary, tags, location, apply links, and normalized fields for hiring and lead workflows.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

RemoteOK Jobs Scraper - Search & Export All Current Remote Jobs

Search or filter RemoteOK jobs by keyword, geo, and industry/tag, or export every current remote job listing with salary, tags, location, and application links as a clean Dataset. This Actor pulls the public RemoteOK job feed and returns normalized, deduplicated job records ready for spreadsheets, dashboards, recruitment pipelines, or AI agent workflows.

Use searchQuery, geo, and/or industry to narrow results, or leave them empty to export all current listings. Every row includes the original API object in a raw field so you never lose upstream data. There are no preset keywords, geos, or industries.

Why use this RemoteOK Scraper?

  • Keyword search: enter searchQuery to filter current RemoteOK jobs by title, company, description, tags, location, slug, and URLs.
  • Geo filter: enter geo (for example usa, uk, europe, india, worldwide) to match location text with common region aliases.
  • Industry / tag filter: enter industry (for example dev, python, marketing, customer support) to request RemoteOK with the official tag query and keep matching rows.
  • Full-feed export: leave filters empty to get every valid job record in the current RemoteOK API response.
  • Structured output: normalized fields for title, company, salary, tags, location, posting date, job URL, and apply URL.
  • Original raw data: each row preserves the unmodified upstream API object in a raw field.
  • Deduplication: response-local duplicates and malformed records are skipped, with counts reported in RUN_SUMMARY.
  • Filter provenance: filtered rows include sourceSearchQuery / searchRank and/or sourceGeo / sourceIndustry / filterRank.
  • No credentials needed: the Actor uses the public RemoteOK API and does not require any API key or login.
  • Attribution built in: source_url and attribution_url fields make it easy to link back to RemoteOK.

Tutorial

  1. Click Try for free on this Actor page.
  2. Optionally enter searchQuery (e.g. python, frontend, devops).
  3. Optionally enter geo (e.g. usa, uk, worldwide) and/or industry (e.g. dev, marketing).
  4. To export all current jobs, leave searchQuery, geo, and industry empty.
  5. Optionally set maxItems to cap the output size. 0 means no limit.
  6. Click Start and wait for the run to finish.
  7. Open the Dataset tab to download results as JSON, CSV, Excel, or JSONL.
  8. Check RUN_SUMMARY in the key-value store for source counts, duplicates skipped, and malformed records.

Example inputs

All-current-jobs mode (empty input):

{}

Keyword search mode:

{
"searchQuery": "python",
"maxItems": 25
}

Geo + industry filter:

{
"geo": "usa",
"industry": "dev",
"maxItems": 50
}

Keyword + geo + industry:

{
"searchQuery": "python",
"geo": "europe",
"industry": "dev",
"maxItems": 25
}

Input and output examples

Input fields

FieldTypeDefaultDescription
searchQuerystringemptyOptional keyword or phrase. When set, the Actor filters current RemoteOK API job records by title, company, description, tags, location, slug, job URL, and application URL.
geostringemptyOptional region slug or free-text location filter. Common aliases are listed in Common geo slugs. Leave empty for all regions.
industrystringemptyOptional RemoteOK tag/industry slug. Common values are listed in Common industry / tag slugs. Spaces, hyphens, and underscores are accepted (customer support = customer-support).
maxItemsinteger0Maximum matching job records to emit. 0 means no client-side limit. Maximum 5000.

Output item example

{
"id": "123456",
"record_type": "job",
"title": "Senior Python Developer",
"company_name": "Example Co",
"company_logo": "https://remoteok.com/assets/img/logo.png",
"description": "We are looking for a senior Python developer...",
"tags": ["python", "django", "remote"],
"location": "Worldwide",
"salary": "$80,000-$120,000/yr",
"salary_min": 80000,
"salary_max": 120000,
"original_created_at": "2026-07-15T00:00:00+00:00",
"epoch": "1784073600",
"url": "https://remoteok.com/remote-jobs/123456",
"apply_url": "https://example.com/apply",
"slug": "senior-python-developer-example-co",
"source_url": "https://remoteok.com/remote-jobs/123456",
"source": "remoteok",
"sourceSearchQuery": "python",
"searchRank": 1,
"sourceGeo": "usa",
"sourceIndustry": "dev",
"attribution_url": "https://remoteok.com",
"crawled_at": "2026-07-15T09:00:00+00:00",
"raw": {"id": "123456", "position": "Senior Python Developer", "company": "Example Co"}
}

In all-current-jobs mode, filter provenance fields are absent. In keyword mode, rows include sourceSearchQuery and searchRank. In geo/industry-only mode, rows include sourceGeo / sourceIndustry and filterRank as applicable.

Output fields

FieldDescription
idRemoteOK job ID.
record_typeAlways job.
titleJob title / position.
company_nameHiring company name.
company_logoCompany logo URL when available.
descriptionFull job description text when available.
tagsJob tags (e.g. python, remote, senior).
locationJob location; defaults to remote when not specified.
salaryFormatted salary range string (e.g. $80,000-$120,000/yr).
salary_min, salary_maxNumeric salary bounds when available.
original_created_atOriginal posting date from RemoteOK.
epochEpoch timestamp as string.
urlRemoteOK job URL when provided by the API.
apply_urlDirect application URL when available.
slugURL slug for the job.
source_urlConstructed or provided RemoteOK job URL.
sourceAlways remoteok.
sourceSearchQueryThe keyword used when in search mode.
searchRankMatch rank (1-based) when in search mode.
sourceGeoThe geo filter used when set.
sourceIndustryThe industry filter used when set.
filterRankMatch rank (1-based) when geo/industry filters are set without keyword search.
attribution_urlhttps://remoteok.com for attribution.
crawled_atISO timestamp when this Actor collected the row.
rawThe original unmodified RemoteOK API record.

Run artifacts

ArtifactWhen it is writtenWhat it contains
INPUT_ECHOAfter valid input parsingNormalized scope, keyword, geo, industry, and limits.
RUN_SUMMARYAfter a successful runSource, filters, record counts, duplicates, malformed records, warnings, and timestamps.
ERROR_SUMMARYWhen a run failsError type, safe error message, and timestamps.

Common geo slugs

geo is matched against RemoteOK location text (and related free-text fields). Use either a short slug or free text. Multi-word values may use spaces or hyphens.

Slug / inputAlso matchesNotes
usaus, united-states, united states, u.s., u.s.a.United States
ukunited-kingdom, united kingdom, england, scotland, wales, britainUnited Kingdom
europeeu, emeaEurope / EMEA-style labels
emeaemea, europeEMEA-style labels
apacasia, pacificAsia-Pacific-style labels
latamlatin america, south americaLatin America
canadacanadianCanada
germanydeutschland, berlin, munichGermany
franceparisFrance
netherlandsholland, amsterdamNetherlands
spainespana, españa, madrid, barcelonaSpain
irelanddublinIreland
australiasydney, melbourneAustralia
singaporesingaporeSingapore
japantokyoJapan
indiabangalore, bengaluru, mumbai, delhi, hyderabad, chennai, puneIndia
brazilbrasil, sao paulo, são pauloBrazil
mexicoméxicoMexico
philippinesmanilaPhilippines
worldwideworld wide, anywhere, global, remoteGlobal / remote-friendly labels
remoteremote, worldwide, anywhere, globalSame family as worldwide

Any other free-text value is also accepted and matched as-is (plus hyphen/space variants). RemoteOK does not expose a reliable server-side location query on the public API, so geo filtering is applied on the current feed returned at run time.

Common industry / tag slugs

industry maps to RemoteOK tags. When set, the Actor calls https://remoteok.com/api?tag=... and still applies a local tag match so only relevant rows are emitted. Spaces, hyphens, and underscores are interchangeable.

SlugExamples of accepted formsTypical use
devdevSoftware development
web-devweb dev, web-devWeb development
pythonpythonPython roles
javascriptjavascriptJavaScript roles
reactreactReact roles
designdesign, designerDesign
marketingmarketingMarketing
customer-supportcustomer support, customer-support, supportCustomer support
digital-nomaddigital nomad, digital-nomadDigital nomad friendly
execexecExecutive / leadership
opsopsOperations
educationeducation, teachingEducation
medicalmedicalMedical / healthcare
content-writingcontent writing, content-writing, copywritingContent / writing
technicaltechnicalTechnical roles
sys-adminsys admin, sys-adminSysadmin
financefinanceFinance
salessalesSales
hrhr, recruiterHR / recruiting
legallegalLegal
testingtestingQA / testing
mobilemobileMobile
videovideoVideo
social-mediasocial media, social-mediaSocial media
virtual-assistantvirtual assistant, virtual-assistantVirtual assistant
data-entrydata entry, data-entry, analystData / analysis-related tags
engineerengineerEngineering labels
non-technon tech, non-techNon-tech roles
full-timefull time, full-timeEmployment type tag

RemoteOK tag inventory changes over time. If a tag is rare or unused on the current feed, the run can succeed with zero rows and a clear RUN_SUMMARY.

Data source and search boundary

This Actor uses the public RemoteOK API endpoint (https://remoteok.com/api) at run time. RemoteOK decides which current job records are present in that response.

  • searchQuery filters the current API payload locally.
  • industry requests the official tag query and also filters locally.
  • geo filters the returned payload locally against location/text fields.
  • The Actor does not query a separate RemoteOK historical index and does not paginate through older jobs.

Unsupported aliases such as query, keyword, keywords, tags, tag, and location are rejected. Use the canonical fields searchQuery, geo, and industry so automation does not silently change scope.

Pricing

Pay per event. No subscription. Apify displays the effective event price before each run.

EventPriceWhen it is charged
apify-actor-start$0.005Automatically once when a normal Actor run starts.
apify-default-dataset-item$2.00 / 1,000Automatically for each item written to the default Dataset.

For example, a run returning 100 job records costs $0.205 in Actor events: $0.005 to start plus $0.200 for results. Platform usage costs are charged to the user in addition to these Actor events, as shown by Apify before a run.

Both listed events are Apify synthetic events: the platform accounts for them automatically, so the Actor does not manually issue duplicate charges in code.

Live View and Standby endpoints

This Actor exposes an honest lightweight Live View service. Data collection stays in normal Actor runs; the standby service does not pretend to offer a separate scrape API.

EndpointPurpose
GET /Readiness and service information.
GET /healthFast health check.
GET /input-exampleLow-cost input compatible with the Actor schema.
GET /openapi.jsonThe deployed OpenAPI 3.x contract.

The interactive Standby tab on Apify renders these endpoints from the same OpenAPI document served by the Actor.

Connect from code or an AI workflow

Use this Actor in Apify, Make, Zapier, n8n, or an agent workflow. The Actor ID is lentic_clockss/remoteok-all-jobs-scraper.

Use this Actor when RemoteOK is the source of record. For other job boards, keep a separate Actor and join their Datasets in your own workflow so source attribution, data freshness, and each platform's usage terms remain clear.

FAQ and support

Does it search RemoteOK by keyword? Yes. Set searchQuery to a word or phrase. The Actor filters the current RemoteOK API job records and returns matching jobs with sourceSearchQuery and searchRank.

Can I filter by region or industry? Yes. Use geo and/or industry. See the slug tables above. Filtered rows include sourceGeo / sourceIndustry provenance.

Does "all" include RemoteOK history? No. "All" means all valid job records in the API response at run time. The RemoteOK endpoint itself decides which current records it returns and does not expose a historical pagination option here.

What happens when there are no matches? If any of searchQuery, geo, or industry is set and nothing matches, the run succeeds with zero Dataset rows and a clear RUN_SUMMARY showing the filters and recordsEmitted: 0. That is different from a source failure, which writes ERROR_SUMMARY and fails.

Can I publish the results commercially? Check the upstream notice and RemoteOK terms before use. The API metadata says the API is free for non-commercial use, and RemoteOK's terms require a hyperlink back where API or site data is used. Keep source_url and attribution_url, link back visibly, and obtain written permission before commercial redistribution or Store publication.

Where can I report a problem? Include the Actor run ID, RUN_SUMMARY or ERROR_SUMMARY, and one example source_url in your support request. Never include credentials because this Actor does not need any.


Explore more tools from lentic_clockss on Apify.