Remote Jobs API: RemoteOK & Jobicy Postings avatar

Remote Jobs API: RemoteOK & Jobicy Postings

Pricing

from $1.05 / 1,000 job postings

Go to Apify Store
Remote Jobs API: RemoteOK & Jobicy Postings

Remote Jobs API: RemoteOK & Jobicy Postings

Merged, de-duplicated remote job postings from the RemoteOK and Jobicy public APIs, normalized to one schema with salary, tags and location. Optional keyword filter and only-new mode for hourly schedules. No login or API key.

Pricing

from $1.05 / 1,000 job postings

Rating

0.0

(0)

Developer

Tabulary

Tabulary

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does Remote Jobs API: RemoteOK & Jobicy Postings do?

This Actor returns remote jobs merged from two official, keyless public APIs — RemoteOK and Jobicy — normalized into one clean schema with salary, tags, employment type and location. It's built for job boards, newsletters, recruiters, market researchers and AI agents that want a remote jobs feed or remote job postings without scraping either site or juggling two different response shapes. Postings that appear on both boards are de-duplicated by company and title, and every record keeps a link back to its original source page, as both APIs' terms require.

What you get

  • Title, company, location, employment type and salary (min, max, currency, period) where the source discloses it — null otherwise, never guessed.
  • Category/skill tags, posting date, the source board, and both the canonical listing URL and the apply link.
  • A keyword filter across title, company and tags, and a choice of one or both boards per run.
  • An only-new-since-last-run mode for hourly or daily schedules, so repeat runs deliver just the new postings.
  • JSON, CSV or Excel export, Google Sheets, and use from AI agents through the Apify MCP server.

How much does it cost?

You pay per job posting saved, with no monthly fee: $1.50 per 1,000 postings on Apify's free plan, and 10–40% less on paid Apify plans. Each run also costs $0.001 to start. Apify's free plan includes $5 of credit every month, enough for about 3,300 postings. Prices as of October 2026; the price shown on this page is the one that applies.

UsePostingsCost on the free plan
One search100about $0.15
A daily scheduled run, about 50 new postings a dayabout 1,500 a monthabout $2.25 a month

Set Maximum cost per run to cap any run; the Actor stops cleanly at the cap and keeps everything it saved.

Ready-made inputs

Paste one of these into the JSON input tab, or set the same fields in the form. Each returned results in a live test on 22 October 2026.

All new remote jobs from both boards, newest first · open this example

{ "maxItems": 100 }

Remote Python developer jobs · open this example

{ "keyword": "python", "maxItems": 100 }

Daily alert: new remote designer jobs (schedule it every morning) · open this example

{ "keyword": "designer", "onlyNewSinceLastRun": true, "maxItems": 200 }

Remote marketing jobs · open this example

{ "keyword": "marketing", "maxItems": 100 }

Job alerts: only new since the last run

  1. Set your keyword and sources and turn on Only new since last run.
  2. Save it as a task and add an Apify Schedule (hourly or daily).
  3. Connect the output: Apify's built-in Slack and email notifications, a webhook, or Make, Zapier and n8n to post each new job to a channel, a sheet or a job board.

Each run returns only postings that earlier runs with the same keyword and sources have not delivered, so you pay only for new ones. Postings cut off by your maximum results or spending limit come in the next run.

Input

FieldTypeDefaultDescription
sourcesarray["remoteok", "jobicy"]Which boards to pull from.
keywordstring"" (none)Keep only postings whose title, company or tags contain this word.
maxItemsinteger30Stop after this many postings. Each saved posting is one billable item.
onlyNewSinceLastRunbooleanfalseSkip postings already saved by an earlier run with the same sources and keyword.

Output

One dataset item per job posting. A real item from the local test run:

{
"source": "jobicy",
"source_id": "156261",
"title": "Mid-Market Account Executive",
"company": "MaintainX",
"company_logo": "https://jobicy.com/data/server-nyc0409/galaxy/mercury/2025/08/f0177662-221.png",
"location": "USA",
"employment_type": "Full-Time",
"tags": ["Sales"],
"salary_min": 153000,
"salary_max": 210000,
"salary_currency": "CAD",
"salary_period": "yearly",
"posted_at": "2026-10-21T18:39:51.000Z",
"url": "https://jobicy.com/jobs/156261-mid-market-account-executive-7",
"apply_url": "https://jobicy.com/jobs/156261-mid-market-account-executive-7",
"description": "MaintainX is a leading mobile-first work execution platform..."
}

source is "remoteok" or "jobicy". salary_min/salary_max/salary_currency/salary_period are null when the employer didn't disclose a salary (RemoteOK rarely states a currency or period, so those two are always null for RemoteOK records). posted_at is ISO 8601. url is always the source's own job page, as RemoteOK's and Jobicy's API terms require; apply_url points at the employer's application page when the source provides one, otherwise it matches url. Any e-mail addresses or phone numbers inside description are replaced with [email removed] / [phone removed].

Use it from AI agents

Add the Actor to Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server (https://mcp.apify.com?tools=tabulary/remote-jobs-feed). Ask in plain language, for example: "Find remote Python jobs posted in the last week." The agent fills in the input and gets structured postings back.

Use it from code

curl -X POST "https://api.apify.com/v2/acts/tabulary~remote-jobs-feed/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"sources": ["remoteok", "jobicy"], "keyword": "python", "maxItems": 50}'

The same works with the Apify Python and JavaScript clients. See the API tab for details.

Data source and limits

  • RemoteOK API: keyless, returns its latest roughly 100 open postings per request, no further pagination. RemoteOK's terms require a followed link back to the RemoteOK URL and crediting RemoteOK as a source, which this Actor does by keeping each RemoteOK record's url pointed at its RemoteOK listing page.
  • Jobicy API: keyless, covers postings published in the last 7 days with cursor pagination. Jobicy's public API always returns its own job-page URL (a paid Jobicy key is needed for a direct employer apply link), which satisfies Jobicy's requirement that apply links keep pointing at the original Jobicy job page.
  • Both sources are polled at most about once per second; the Actor backs off and retries on rate-limit or server errors.
  • No personal data is requested. Any e-mail or phone number appearing in a posting's free-text description is masked.
  • Not affiliated with or endorsed by RemoteOK or Jobicy.

Other Tabulary tools

Clean data from official and public sources, priced per result:

FAQ

Is this data official? Yes — every record comes straight from RemoteOK's or Jobicy's own public API, not a scrape of their web pages.

How fresh is it? RemoteOK's API reflects its current ~100 newest open postings; Jobicy's covers the last 7 days. Run the Actor on a schedule with Only new since last run turned on for a live feed.

Why are some salary fields null? Because the employer didn't disclose them. RemoteOK rarely states a currency or pay period at all, so those two fields are always null for RemoteOK records.

Something broke? Open an issue on the Issues tab. The Actor is tested daily.

Changelog

  • 2026-10-22: First version: merged RemoteOK and Jobicy feeds, de-duplicated by company and title, keyword filter, and an only-new-since-last-run monitor for scheduled alerts.

About Tabulary

This tool is part of Tabulary: clean tables from official public sources. Every Tabulary tool uses the source's official API or open data where one exists, collects no personal data, and is tested on Apify every day. Questions or ideas? Open an issue on the Issues tab.