AI Jobs API
Pricing
from $1.50 / 1,000 job records
AI Jobs API
Find AI and machine learning job postings by country, location, role, company, salary, posting age, employment type, and seniority. Built for AI labor-market analysis, recruiting products, and workforce intelligence.
Pricing
from $1.50 / 1,000 job records
Rating
0.0
(0)
Developer
Aspen Technology Labs, Inc.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
AI & Machine Learning Jobs API - JobsIndex by Aspen Tech Labs
Access AI and machine learning job postings data through the JobsIndex API, built by Aspen Tech Labs.
JobsIndex aggregates 11M+ active jobs daily from 300K+ employer sources worldwide. Jobs are sourced directly from company career sites and ATS platforms, not scraped from job boards. That means cleaner data on AI jobs with direct application links where available.
This Actor serves two primary use cases: teams that want to publish AI and machine learning job listings on their platform, and teams that need structured job data for matching algorithms, AI model training, or workforce intelligence.
What You Can Use It For
- Power a job board, niche AI careers site, or job search feature with fresh, normalized AI and machine learning jobs
- Feed a matching platform or recommendation engine with structured AI jobs by role, skills, location, seniority, employer, and more
- Train or fine-tune AI models using real-world artificial intelligence job postings as source data
- Track AI and machine learning hiring demand across markets and geographies for workforce analytics or competitive intelligence
Built-In Search Preset
This Actor is fixed internally to category=Information Technology and sub_category=AI Specialist. Both fields are shown in the input example, and the runtime always enforces those values even if different values are submitted. Users can narrow the search by country, structured location, role keywords, salary, company, posting age, employment type, or seniority.
Quick Start
{"country": "United States","size": 5}
Input Parameters
| Parameter | Description | Example |
|---|---|---|
salary | Salary amount or range filter. | 20h-30h |
what | Main job search query. Supports keywords, boolean logic, exact phrases, and field-targeted search such as @title engineer or @(title,description) (python). | machine learning engineer |
where | Free-text location search. Supports place names, boolean logic, and field-targeted search such as @country United States or @(city,metro_area) (Denver). Prefer structured location fields for exact filters. | Germany |
country | Country filter. | United States |
region | State, province, or region. | California |
city | City filter. | New York |
postal_code | Postal or ZIP code filter. | 90210 |
metro_area | Metropolitan area filter. | Denver-Aurora-Centennial, CO |
title | Job title filter. | Machine Learning Engineer |
company_name | Company name filter. | IBM |
company_domain | Company website domain. | ibm.com |
category | Fixed preset. Runtime always uses Information Technology; changes are ignored. | Information Technology |
sub_category | Fixed preset. Runtime always uses AI Specialist; changes are ignored. | AI Specialist |
industry | Company industry filter. | Food Products |
posted | Relative posting age or ISO date. | 1w |
employment_type | Employment type. | Full-Time |
remote | Work arrangement filter. Supported values: remote, on-site, hybrid. | remote |
seniority | Seniority level. | Senior |
page | Page number, starting from 0. | 0 |
size | Number of results per page. Default 5, min 1, max 100. | 5 |
Salary Filter Format
Use:
NUMBER[UNIT]
or:
NUMBER[UNIT]-NUMBER[UNIT]
Supported units:
h- per hourd- per dayw- per weekm- per monthy- per year
Examples:
20h-30h- hourly rate between 20 and 3035h- fixed hourly rate20h-200000y- range from hourly to yearly comparison
Advanced Filters
what and where support plain-text search, boolean logic, and field-targeted search.
If no field is provided, the API expands the search across a default set of relevant fields.
Plain keyword examples:
what = engineer OR managerwhere = United States
Field-specific examples:
what = @title engineer OR managerwhere = @country United States
Multi-field examples:
what = @(title,description) (python)what = @(title,title_raw,description) (engineer OR manager)what = @(title,description) (python AND developer)where = @(country,region,city,metro_area,county,sub_city) (United States)where = @(city,region,metro_area) (San Francisco OR California)where = @(city,region,metro_area) (California)
When using where, avoid sending separate structured location parameters for the same request unless you want those structured parameters to take priority. For example, country, region, city, postal_code, and metro_area can override or narrow where.
Common job/content fields for what:
title,title_raw,description,referencecategory,sub_category,seniority,industry,company_typecompany_name,company_domain,company_name_rawemployment_type,remote,languageposted,posted_raw,expiredurl_source,url_applysalary_value,salary_currency,salary_unitid
Common location fields for where:
country,region,city,metro_area,county,sub_city,postal_code
Location Filtering
For precise location matching, use structured filters exposed for this Actor:
countryregioncitypostal_codemetro_area
Use where only as a free-text location search when the structured location filters above are not set. If where is provided together with structured location filters, the structured filters take priority and where may be ignored or deprioritized.
Limits and Pagination
This Actor uses the JobsIndex jobs API. Results are paginated with page and size.
| Parameter | Default | Min | Max |
|---|---|---|---|
page | 0 | 0 | Depends on size and the item cap |
size | 5 | 1 | 100 |
Invalid page or size values can return 400 Invalid page or size parameters.
Item Caps
The maximum number of retrievable jobs depends on the query shape:
| Query shape | Max items | Effective max size | Over-size behavior |
|---|---|---|---|
| No company filter | 1000 | 100 | Validation error; not silently capped |
| Company filter plus another keyword or filter | 20 | 20 | Silent cap with capping metadata |
| Company filter only | 5 | 5 | Silent cap with capping metadata |
A company filter means company_name, company_domain, or a company field referenced inside what. Another keyword or filter means anything in what other than company_*, or a value in fields such as title, category, sub_category, industry, posted, salary, employment_type, or seniority where available on this Actor.
When a company-filtered request asks for size greater than the effective cap, the API returns up to the capped number of results instead of erroring. The response metadata includes:
size_requested- the original requestedsizesize_capped_by-"company"for the 5-item cap or"company|keywords"for the 20-item cap
On uncapped responses, size_requested and size_capped_by are not present.
No-company-filter requests are not silently capped. If the request exceeds the 1000-item retrieval window, the API can return 400 Item limit reached. Maximum of 1000 items can be retrieved.
Free-Text Query Limits
what and, where available, where support advanced matching syntax but have safety limits:
| Limit | Value | Error behavior |
|---|---|---|
| Raw URL length before decoding | 700 characters | 400 'what' or 'where' parameters exceed 700 characters |
| Decoded text length | 500 characters | 400 MATCH input exceeds length limit |
Combined operator characters: ?, +, pipe, @ | 20 | 400 Too many MATCH operators |
| Unsafe SQL-like keywords | blocked | 400 Unsafe MATCH expression |
Unsupported characters may be normalized before search. Unbalanced quotes and trailing @ characters may be stripped.
Field Validation
Invalid filter values can return 400 Invalid value for parameter: <name>. Common validation examples include malformed company domains, invalid dates or relative posted values, invalid salary format, invalid job IDs, unsupported location formats, or overly long field values.
Output
Each run stores job records in the default Apify dataset. The dataset schema includes an Overview table for the most useful fields and a Raw data (all fields) table for the complete JobsIndex record.
Example dataset item:
{"id": "14242019290845606376","title": "ML Engineer","company_name": "Example AI Company","category": "Information Technology","sub_category": "AI Specialist","country": "Canada","region": "n/a","city": "n/a","salary_value": "178,000.00-228,000.00","salary_currency": "USD","salary_unit": "YEAR","employment_type": "Full-Time","remote": "remote","posted": "2026-05-07","url_apply": "https://example.com/apply"}
Field availability depends on the source job posting.
Custom AI Jobs Data
For custom AI job data needs, bulk downloads, or tailored AI job feeds, contact us via our website or by email. You can also explore JobMarketPulse, our labor and job market intelligence platform.