Job Monkey

It's bananas.

POST /v1/jobs200 OK · X-Units-Charged: 1
{ "job_guid": "7253b026-e876-4f93-9111-eb7ab1fa3dc4", "company_guid": "1929ec37-65a0-4010-8b4a-e1816d1e350e", "title": "Certified Nurses Aide CNA - SNF", "ai_title": "Certified Nursing Assistant",ai "source": "oracle", "url": "https://eexs.fa.us2.oraclecloud.com/hcmUI/CandidateE…", "description": "Position Title: CNA Certified Nurse's Aide\n\nHourly…", "requirements": "Who you are:\n- Holds current Nursing Assistant Cert…", "benefits": null, "ai_workplace_type": "On-site",ai "ai_employment_type": "FULL_TIME",ai "ai_experience_level": null,ai "ai_salary_min": 28080,ai "ai_salary_max": 33280ai}

Job data, simplified.

Get a free key

The API, simplified.

One call, every country, ninety systems, one dashboard.

The data

Fifty fields.
Zero guesswork.

Every job comes as one record with 50 typed fields: what the employer stated, and what we add. The ai_ fields are marked as ours, and derived says, per job, which of them the posting did not state.9

title
salary
posted_date

POST /v1/jobs200 OK · X-Units-Charged: 1
{ "title": "Certified Nurses Aide CNA - SNF", "company": "The Roosevelt at Salt Creek", "source": "oracle", "salary_min": 13.5, "salary_currency": "USD", "salary_period": "HOUR", "posted_date": "2026-10-11T16:02:47"}
As the employer states it

ai_title
ai_salary_min
derived

POST /v1/jobs200 OK · X-Units-Charged: 1
{ "ai_title": "Certified Nursing Assistant",ai "ai_workplace_type": "On-site",ai "ai_employment_type": "FULL_TIME",ai "ai_experience_level": null,ai "ai_salary_min": 28080,ai "ai_job_language": "English",ai "derived": ["ai_title", "ai_visa_sponsorship"]ai}
What we add
A team at a shared wooden table, working on laptops, one with headphones, code on the screens

The feed

Load once.
Then just the changes.

A sync is three calls. GET /v1/jobs loads your cut once. GET /v1/events tells you, from your cursor, what is new, changed, closed or reopened. POST /v1/jobs fetches the ones you want. One of the three costs money.

  • 3,019,013jobs live3
  • every changewith its new values5
  • 10 callsa second6
POST /v1/jobs200 OK · X-Units-Charged: 1
{ "job_guid": "7253b026-e876-4f93-9111-eb7ab1fa3dc4", "company_guid": "1929ec37-65a0-4010-8b4a-e1816d1e350e", "title": "Certified Nurses Aide CNA - SNF", "ai_title": "Certified Nursing Assistant",ai "source": "oracle", "url": "https://eexs.fa.us2.oraclecloud.com/hcmUI/CandidateE…", "description": "Position Title: CNA Certified Nurse's Aide\n\nHourly…", "requirements": "Who you are:\n- Holds current Nursing Assistant Cert…", "benefits": null, "ai_workplace_type": "On-site",ai "ai_employment_type": "FULL_TIME",ai "ai_experience_level": null,ai "ai_salary_min": 28080,ai "ai_salary_max": 33280ai}
  • 196,239new today3
  • closuresthe day they happen4
  • one cursornever skips7

Made for what you build.

Backfill a country or a niche in one load, then keep it current from the events: a job closes on your board the day it closes on the employer's. Pay for the jobs you list, not for the polling.

A fraction of the market's price.2

$1.20per 1,000, first 100k a month
$0.90per 1,000, 100k to 500k a month
$0.60per 1,000, 500k to 2M a month
$0.50per 1,000, above 2M a month

100,000 jobs a month

Job Monkey $120
Market average $617

500,000 jobs a month

Job Monkey $480
Market average $1,200

2,000,000 jobs a month

Job Monkey $1,380
Market average $2,700

Market average: the three priciest job-data APIs at the same sizes. USD a month.2 Pricing and the calculator.

Search

Clean data.
Optimized for search.

Every field below is cleaned the same way on every job, so it works in your search the moment it arrives.9

ai_title

Titles that index.

"Contract Staff Software Engineer - Performance Graphics" becomes "Staff Software Engineer, Performance Graphics". One clean title a job, so search and filters just work.

Good for: search, autocomplete, grouping.

ai_salary_min

Pay you can filter.

$28 an hour, $4,500 a month, $90,000 a year: each gets one yearly figure beside the employer's own, so pay sorts like with like.

Good for: pay filters, sorting, ranges.

ai_summary

Requirements, up front.

A short summary of every posting, with the skills and keywords it asks for as lists you can match on.

Good for: matching, ranking, previews.

ai_workplace_type

Remote, made plain.

On-site, hybrid, remote OK or remote only: one of four values, read from the text when the posting does not say.

Good for: a remote filter that works.

ai_experience_level

Experience as a number.

"5+ years of experience" becomes 5: years you can filter and range on, not words.

Good for: junior and senior filters.

location_json

Places you can map.

"Remote - Austin, TX" becomes Austin, Texas, United States, with the town's coordinates.

Good for: maps, radius search, regions.

The Manhattan skyline and the Brooklyn Bridge in black and white under a cloudy sky, a few yellow details picked out

A better API.
For every job.

What do you use today?

Here's what you get.

Two green plants in a white and a pale pink pot on a wooden table
No scrapers to keep alive.

The jobs come from the employers' own systems, read every day. Nothing breaks when a board changes its page.

A high-rise building seen from below, its floors rising in order
Cursors instead of polling.

Read what changed from where you left off. In order, never skips.7

A grey bird flying free in the open air
The changes free.

Changed, closed, reopened: every event carries the new values, at no charge.5

An instant camera, close up, on a white background
Load once, then the changes.

Page a whole country once, then follow what changed from the last page.10

Go bananas.
Start with a free key.

250 full jobs a month, no card, no end date.1

Get a free key