BYTETOOLS

Artificial Intelligence Jobs API

Free AI jobs API with no key: live listings pulled from 260+ companies' own career pages, with level, region, remote flag and a direct apply link. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Artificial Intelligence Jobs API?

Artificial Intelligence Jobs aggregates AI and ML vacancies straight from companies' own career pages and serves them as JSON with no API key. Each listing carries the title, company, location, seniority level, region, remote flag and both a listing and an apply URL.

Aggregators that scrape other aggregators accumulate stale and duplicate postings. This one pulls from more than 260 employers' own career pages, which is why the `apply_url` frequently points at the company's underlying ATS — an Ashby or Greenhouse link — rather than at another job board. That first-hand sourcing is the difference between a listing that is live and one that closed a month ago.

The response envelope is more transparent than most: `total_live` gives the size of the whole index, `matched` how many your filters hit and `returned` how many are in this page, so you can tell filtering from paging apart at a glance. Normalised `level` and `region` fields save you parsing seniority out of job titles. The one weak spot is `salary`, which is null for the great majority of listings because most employers simply do not publish figures.

Quick facts

Base URL
https://artificialintelligencejobs.co/api
Authentication
No API key and no account for the jobs endpoint.
Rate limit
No published limit. The index rebuilds periodically — `generated` tells you when.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Artificial Intelligence Jobs API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch current AI and ML vacancies

GET https://artificialintelligencejobs.co/api/jobs?limit=2

curl
curl 'https://artificialintelligencejobs.co/api/jobs?limit=2'
JavaScript (fetch)
const res = await fetch("https://artificialintelligencejobs.co/api/jobs?limit=2");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://artificialintelligencejobs.co/api/jobs?limit=2", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "source": "artificialintelligencejobs.co",
  "generated": "2026-08-21 05:38 UTC",
  "total_live": 18854,
  "matched": 18854,
  "returned": 2,
  "offset": 0,
  "jobs": [
    {
      "title": "Account Director, Digital Native",
      "company": "OpenAI",
      "location": "Seoul, South Korea",
      "remote": true,
      "category": "Other",
      "level": "Lead+",
      "region": "Asia-Pacific",
      "salary": null,
      "posted": "2026-08-21",
      "url": "https://artificialintelligencejobs.co/jobs/openai-account-director-digital-native-2ca483e3",
      "apply_url": "https://jobs.ashbyhq.com/openai/52263a22-1621-4dbb-9a11-ae4490f2acc8"
    },
    {
      "title": "GTM Strategy & Operations Lead, Reseller & Ecosystem Programs (APAC)",
      "company": "OpenAI",
      "location": "Singapore",
      "remote": true,
      "category": "Sales & GTM",
      "level": "Lead+",
      "region": "Asia-Pacific",
      "salary": null,
      "posted": "2026-08-21",
      "url": "https://artificialintelligencejobs.co/jobs/openai-gtm-strategy-operations-lead-reseller-ecosystem-programs-apac-288d7ac5",
      "apply_url": "https://jobs.ashbyhq.com/openai/caf08cbd-8da6-4904-b5f3-4709e42f6b15"
    }
  ],
  "docs": "https://artificialintelligencejobs.co/developers"
}

Parameters

ParameterTypeRequiredDescription
limitqueryOptionalHow many listings to return. 2
offsetqueryOptionalHow many to skip, for paging. 0
qqueryOptionalKeyword search across the listings. llm
categoryqueryOptionalJob function such as `Engineering` or `Research`. Engineering
cityqueryOptionalCity filter. london
remotequeryOptionalSet true to return only remote roles. true
levelqueryOptionalSeniority filter, using the normalised values such as `Senior` or `Lead+`. Senior
salary_minqueryOptionalMinimum salary, which necessarily excludes the many listings with no published figure. 200

Response fields

sourcestring
Identifies the publishing site.
generatedstring
When the index was last rebuilt, as `YYYY-MM-DD HH:MM UTC`. Not ISO 8601 — parse it as a format string.
total_liveinteger
Total live listings in the whole index, before your filters.
matchedinteger
How many listings your filters matched.
returned / offsetinteger
How many are in this page and where it starts.
jobs[].title / companystring
Role title and employer name.
jobs[].locationstring
Location as published, for example `Seoul, South Korea`.
jobs[].remoteboolean
Remote flag. Note it can be true alongside a specific city location.
jobs[].category / level / regionstring
Normalised job function, seniority (`Lead+`, `Senior` and so on) and macro region such as `Asia-Pacific`.
jobs[].salarystring
Salary where published. Null for the large majority of listings.
jobs[].postedstring
Publication date, `YYYY-MM-DD`.
jobs[].url / apply_urlstring
The aggregator's listing page and the direct application link, which usually points at the employer's own ATS.

What you can build with the Artificial Intelligence Jobs API

  • Build an AI job alert filtered by seniority and region
  • Analyse which companies are hiring most heavily for ML roles
  • Send applicants straight to the employer's own ATS rather than through a middleman
  • Track how remote availability varies by region over time

Common errors and how to fix them

Timestamp parsing fails

`generated` uses `YYYY-MM-DD HH:MM UTC`, not ISO 8601.

Fix: Parse it with an explicit format string rather than a generic ISO parser.

salary_min returns almost nothing

Most listings have a null salary.

Fix: Filtering on salary silently excludes every listing without a published figure, which is the majority.

Remote true with a city attached

Employers label region-restricted roles as remote.

Fix: Read `remote` together with `location` and `region` rather than treating the flag as absolute.

Stale listings

Sourcing depends on when the index last rebuilt.

Fix: Check `generated`, and always send users to `apply_url` so they land on the employer's live posting.

Artificial Intelligence Jobs API — frequently asked questions

Is the AI jobs API free?

Yes, free with no key and no account for the jobs endpoint.

Where do the listings come from?

From more than 260 companies' own career pages rather than from other job boards, which is why `apply_url` usually points at the employer's own applicant tracking system.

Why is salary usually null?

Because most employers do not publish figures. Filtering on `salary_min` therefore excludes the majority of listings, not just the low-paying ones.

How current are the listings?

The `generated` field states exactly when the index was last rebuilt. Sending users to `apply_url` guarantees they see the employer's live posting regardless.

Tools that pair with this API

Artificial Intelligence Jobs is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.