Remote OK scraper API: search results and job postings as JSON
Send any Remote OK page URL with recipe=remoteok and get title, company, location and 9 more fields as JSON. No selectors to write, no proxies to pick.
- 2 page types
- 12 fields
- 5 credits a page · $0.50 per 1,000
- Working · 100% in 7 days
5,000 free credits for 7 days, no card.
curl -G 'https://api.ujeebu.com/scrape' \
-H "ApiKey: $UJEEBU_API_KEY" \
--data-urlencode 'url=https://remoteok.com/remote-customer-support-jobs' \
--data-urlencode 'recipe=remoteok/listing'
{
"result": {
"title": "Enterprise Sales Development Representative",
"company": "Toptal",
"location": "🇨🇦 Canada",
"posted": "2026-09-30T18:24:42+00:00"
},
"success": true
}
What you get from Remote OK
The fields of each page type and a real sample from our last validation, shortened.
Search and listing pages recipe=remoteok/listing 5 credits a page
| Field | Type | Example |
|---|---|---|
jobs | list of 3+ items | |
jobs[].url | URL | https://remoteok.com/remote-jobs/remote-enterprise-sales-developmen... |
jobs[].title | text | Enterprise Sales Development Representative |
jobs[].image | URL | https://remoteok.com/resize-cgi/image/format=auto,fit=contain,width... |
jobs[].company | text | Toptal |
jobs[].location | text | 🇨🇦 Canada |
jobs[].posted | date | 2026-09-30T18:24:42+00:00 |
Sample answer, validated 2026-10-30
{
"jobs": [
{
"url": "https://remoteok.com/remote-jobs/remote-enterprise-sales-development-representative-toptal-1137451",
"title": "Enterprise Sales Development Representative",
"image": "https://remoteok.com/resize-cgi/image/format=auto,fit=contain,width=100,height=100,quality=50/https://r2.remoteok.com/jobs/45f6c5d37f95c14b65e6e45b153bb7a717...",
"company": "Toptal",
"location": "🇨🇦 Canada",
"posted": "2026-09-30T18:24:42+00:00"
},
{
"url": "https://remoteok.com/remote-jobs/remote-client-advisor-toptal-1137439",
"title": "Client Advisor",
"image": "https://remoteok.com/resize-cgi/image/format=auto,fit=contain,width=100,height=100,quality=50/https://r2.remoteok.com/jobs/45f6c5d37f95c14b65e6e45b153bb7a717...",
"company": "Toptal",
"location": "🌏 Worldwide",
"posted": "2026-09-30T16:13:39+00:00"
}
]
}
Job postings recipe=remoteok/detail 5 credits a page
| Field | Type | Example |
|---|---|---|
job.city | text | Anywhere |
job.company | text | Fortinos Supermarket Ltd |
job.country | text | United States |
job.employment_type | text | FULL_TIME |
job.posted | date | 2026-07-26T20:45:32+00:00 |
job.region | text | Anywhere |
job.remote | text | TELECOMMUTE |
job.valid_through | date | 2026-10-24T20:45:32+00:00 |
url | URL | https://remoteok.com/remote-jobs/remote-decorator-day-fortinos-supe... |
Sample answer, validated 2026-10-30
{
"job": {
"city": "Anywhere",
"company": "Fortinos Supermarket Ltd",
"country": "United States",
"employment_type": "FULL_TIME",
"posted": "2026-07-26T20:45:32+00:00",
"region": "Anywhere",
"remote": "TELECOMMUTE",
"valid_through": "2026-10-24T20:45:32+00:00"
},
"url": "https://remoteok.com/remote-jobs/remote-decorator-day-fortinos-supermarket-ltd-1136522"
}
One call
Send the page URL and the recipe name to the Scrape API. The recipe brings the extract rules and the settings that work on Remote OK (JavaScript rendering).
curl -G 'https://api.ujeebu.com/scrape' \
-H "ApiKey: $UJEEBU_API_KEY" \
--data-urlencode 'url=https://remoteok.com/remote-customer-support-jobs' \
--data-urlencode 'recipe=remoteok/listing'
import os, requests
r = requests.get(
"https://api.ujeebu.com/scrape",
params={"url": "https://remoteok.com/remote-customer-support-jobs", "recipe": "remoteok/listing"},
headers={"ApiKey": os.environ["UJEEBU_API_KEY"]},
timeout=120,
)
print(r.json()["result"])
const params = new URLSearchParams({
url: "https://remoteok.com/remote-customer-support-jobs",
recipe: "remoteok/listing",
});
const res = await fetch(`https://api.ujeebu.com/scrape?${params}`, {
headers: { ApiKey: process.env.UJEEBU_API_KEY },
});
console.log((await res.json()).result);
The answer is {"result": {...}} with the headers Ujb-Recipe and Ujb-Credits. Other page types: recipe=remoteok/detail, or recipe=remoteok and the API picks the page type from the URL. Your own parameters always win over the recipe.
Search Remote OK with parameters
Fill in the parameters and we build the Remote OK search URL. The Playground and the Request builder do it for you.
| Parameter | Type | Values |
|---|---|---|
tag required | string | Job tag: role or skill (python, customer support, design). |
Works today: the built URL with recipe=remoteok/listing (tag=customer support)
GET https://api.ujeebu.com/scrape?url=https%3A%2F%2Fremoteok.com%2Fremote-customer-support-jobs&recipe=remoteok%2Flisting
A single call with the parameters and no URL is coming to the API; it is not live yet. Search with parameters in the docs
What people build with Remote OK data
Job market analytics
Count open roles by company, location and type to see who is hiring and where.
Learn moreJob aggregation
Collect new postings into your own job board or alerts, with the link back to the original posting.
Price
Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.
| Page type | Credits a page | Per 1,000, Starter | Per 1,000, Pro |
|---|---|---|---|
| Search results, Job posting | 5 | $0.82 | $0.50 |
FAQ
What does the Remote OK recipe return?
JSON with 12 fields from search results (recipe=remoteok/listing) and job posting (recipe=remoteok/detail), for example title, company, location, url, image. The answer is {"result": {...}} with the fields shown on this page.
How much does it cost to scrape Remote OK?
5 credits a page ($0.50 per 1,000 on Pro, $0.82 on Starter). Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.
Do I need proxies or a headless browser?
No. The recipe brings the settings that work on Remote OK: JavaScript rendering. Send only the URL and recipe=remoteok/listing.
What happens when Remote OK changes its pages?
We check Remote OK every day and re-validate the recipe on real pages every week, then fix it when the site changes. Until a fix is live, the API answers 404 "the recipe has no working version" instead of empty data, and that call is free.
Can I search Remote OK with parameters?
Yes. Fill in tag: we build the Remote OK search URL, and the call is that URL with recipe=remoteok/listing. A single call with the parameters and no URL is coming to the API; it is not live yet.
Related recipes
WorkdayPage · 5 credits
DiceJob posting · 5 credits
GreenhouseSearch results, Job posting · 5 credits
LeverSearch results, Job posting · 5 credits
SmartRecruitersSearch results, Job posting · 5 credits
NaukriPage · 5 credits
Logos and names belong to their owners. Ujeebu is not affiliated with Remote OK.
Get Remote OK data as JSON today.
5,000 free credits for 7 days. No card.