Remoteok Job Listings Extractor
Pricing
from $1.99 / 1,000 results
Remoteok Job Listings Extractor
RemoteOK job listings extractor that pulls remote jobs by keyword, so you get titles, companies, salaries, tags, locations, and apply links as clean data ready for your job board, ATS, or research.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
Kawsar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract remote job listings from RemoteOK by keyword and turn them into clean, structured data you can actually use. Search for a role or skill like python, engineer, or designer, and get back the job title, company, salary range with currency, company logo, tags, location, posting date, apply link, and full description.
No login, no browser extensions, and no manual copy and paste. Point it at a keyword, pick how many results you want, and export everything to JSON, CSV, Excel, or an API feed.
Why use this actor
RemoteOK is one of the largest boards for remote work, but the site is built for browsing, not for bulk data. If you want to feed openings into a job board, track hiring trends, or build a candidate pipeline, copying jobs by hand does not scale. This actor pulls the same listings in a structured form, ready for a spreadsheet, a database, or your own app.
It is a solid fit for:
- Recruiters and sourcers building lists of remote roles by stack or seniority
- Job board owners who want to aggregate remote openings into a niche site
- Market researchers tracking which skills, salaries, and locations are in demand
- Founders and analysts watching who is hiring across remote tech
- Developers who need a reliable remote jobs data source without maintaining a scraper
Features
- Search RemoteOK by one keyword or many in a single run
- Return the latest remote jobs when you leave the search empty
- Company logo URL pulled straight from each listing
- Salary minimum, maximum, and currency, including ranges the public feed leaves blank
- Full job description as clean plain text or raw HTML
- Location filter to keep only the regions you care about
- Deduplication across searches so no job appears twice
- Adjustable result cap and request timeout
- Export to JSON, CSV, Excel, XML, or a live API endpoint
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | array of strings | ["engineer", "python"] | Keywords, roles, or skills to search for. Add several to run multiple searches at once. Leave empty for the latest jobs. |
location | string | (empty) | Keep only jobs whose location contains this text, for example Europe or Worldwide. |
includeCompanyLogo | boolean | true | Fetch each job page to add the company logo URL, salary currency, and salary ranges missing from the feed. Turn off for faster runs. |
includeDescription | boolean | true | Add the full job description to each result. |
stripHtml | boolean | true | Return the description as clean plain text instead of raw HTML. |
maxItems | integer | 10 | Maximum number of jobs to collect per run (up to 1000). |
requestTimeoutSecs | integer | 30 | Per-request timeout in seconds. |
Example input
{"searchQueries": ["python", "backend"],"location": "Europe","includeCompanyLogo": true,"includeDescription": true,"stripHtml": true,"maxItems": 10}
Output
Each job is stored as one dataset item. Example:
{"id": "1137394","slug": "remote-sr-solutions-architect-extrahop-1137394","position": "Sr Solutions Architect","company": "ExtraHop","companyLogo": "https://r2.remoteok.com/jobs/a48bd449041236219648aa26a2e2778.png","location": "Remote","tags": ["architecture", "design", "python", "api"],"salaryMin": 80000,"salaryMax": 150000,"salaryCurrency": "USD","postedDate": "2026-09-15T00:00:26+00:00","epoch": 1789430426,"applyUrl": "https://remoteok.com/remote-jobs/remote-sr-solutions-architect-extrahop-1137394","url": "https://remoteok.com/remote-jobs/remote-sr-solutions-architect-extrahop-1137394","jobDescription": "At ExtraHop, we're on a mission to protect and empower the connected enterprise...","scrapedAt": "2026-09-17T08:30:26.926498+00:00"}
Output fields
| Field | Type | Description |
|---|---|---|
id | string | RemoteOK job ID |
slug | string | URL slug for the job |
position | string | Job title |
company | string | Company name |
companyLogo | string or null | Company logo image URL, or null when the listing has none |
location | string or null | Location or region text |
tags | array | Skills and categories attached to the job |
salaryMin | number or null | Lower salary bound |
salaryMax | number or null | Upper salary bound |
salaryCurrency | string or null | Salary currency, USD for RemoteOK listings |
postedDate | string | ISO 8601 posting date |
epoch | number | Posting date as a Unix timestamp |
applyUrl | string or null | Link to apply for the job |
url | string or null | Link to the job on RemoteOK |
jobDescription | string or null | Full description, plain text or HTML |
scrapedAt | string | ISO 8601 time the record was collected |
How to use
- Open the actor and go to the Input tab.
- Add one or more keywords under Search keywords, or leave it empty for the latest jobs.
- Set a location filter and result cap if you need them.
- Click Start.
- When the run finishes, open the Dataset tab and export to JSON, CSV, or Excel.
You can also schedule runs to keep a dataset fresh, or call the actor through the Apify API to pull jobs into your own system.
Tips and notes
- Logos and full salaries come from each job page, so keep
includeCompanyLogoon when you need them. Turn it off for the fastest possible runs with core fields only. - Salaries are in USD. RemoteOK publishes all pay ranges in US dollars, and
salaryCurrencyreflects that. - Not every job lists a salary or logo. Those fields return
nullwhen RemoteOK has nothing to show, so your data stays honest. - Keyword matching checks the title, tags, company, location, and description, so results stay relevant to what you searched for.
- Duplicates are removed across multiple keyword searches within the same run.
Frequently asked questions
Can I get all jobs, not just one keyword?
Yes. Leave searchQueries empty to collect the latest remote jobs across all categories.
How many jobs can I collect per run?
Up to 1000 per run using maxItems. Each keyword search returns the most recent listings for that term.
What export formats are supported? JSON, CSV, Excel, XML, RSS, and a live API endpoint through the Apify dataset.
Does it work on a schedule? Yes. Use Apify Schedules to run it hourly, daily, or on any cron expression and keep your dataset current.