AIJobs.net Scraper avatar

AIJobs.net Scraper

Pricing

Pay per event

Go to Apify Store
AIJobs.net Scraper

AIJobs.net Scraper

Scrape AI/ML/Data Science job listings from aijobs.net. Filter by keyword, experience level, and remote status. Extracts salary, skills, company, tasks, and apply URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Extract AI, ML, and Data Science job listings from aijobs.net — the dedicated job board with 50,000+ AI-focused positions worldwide. Get job titles, companies, salaries, required skills, perks, seniority levels, and more — no login required.

What does it do?

AIJobs.net Scraper retrieves job listings from aijobs.net and fetches full job detail pages to give you comprehensive, structured data. You can filter by keyword (e.g., Python, LLM, machine learning), experience level (Entry / Mid / Senior / Expert), and remote status. The scraper paginates automatically and returns up to your specified limit.

For each job, the actor extracts:

  • 🏷️ Job title and company name with company profile URL
  • 💰 Salary range (when disclosed — e.g., "USD 160K–300K")
  • 📍 Location and remote flag
  • 🎓 Seniority level (Entry-level, Mid-level, Senior-level, Expert)
  • 🛠️ Skills / tech stack (Python, LLM, AWS, FastAPI, etc.)
  • 🎁 Perks and benefits (Remote work, Mentoring, Flexible hours, etc.)
  • 📋 Job responsibilities / tasks from the detail page
  • 🎓 Education requirements
  • 🔗 Direct apply URL (ready for automating applications)
  • 🕒 Posted time (e.g., "8h ago", "20d ago")

Who is it for?

🏢 Recruiters and talent acquisition teams

Build talent pipelines and benchmark what AI roles are being posted. Monitor which companies are hiring, what salaries they offer, and what skills they require — all without manually browsing the site.

📊 Labor market researchers and analysts

Track AI job market trends over time. Compare seniority distributions, remote vs on-site ratios, salary ranges by location, and in-demand skills across thousands of listings.

🤖 Job aggregator developers

Feed structured AI job data into your own job board, HR platform, newsletter, or recommendation engine. The output is clean JSON — no HTML parsing required on your side.

💼 Job seekers and career coaches

Automate job discovery. Export listings to a spreadsheet, filter by skills you have or want to learn, and track fresh postings daily.

🏗️ Salary benchmarking tools

Extract disclosed salary data across AI roles to power compensation analytics, offer calculators, or regional salary comparison dashboards.

Why use this scraper?

  • No authentication required — scrapes publicly accessible listings
  • No browser needed — pure HTTP + HTML parsing (fast and cheap)
  • Keyword + seniority + remote filters — server-side filtering means you get only the jobs you need
  • Full detail pages included — company, tasks, education, apply URL (not just list data)
  • Handles pagination automatically — get up to thousands of listings in one run
  • Clean structured output — flat JSON ready for spreadsheets, databases, or APIs

📦 What data does it extract?

FieldDescriptionExample
urlJob detail page URLhttps://aijobs.net/job/ai-engineer-mts-remote-107552/
titleJob titleAI Engineer (MTS)
companyCompany namemicro1
companyUrlCompany profile on aijobs.nethttps://aijobs.net/company/micro1-12373/
salaryRangeDisclosed salary rangeUSD 160K-300K
seniorityExperience levelMid-level
jobTypeFull Time / Part TimeFull Time
locationLocation textRemote, San Francisco, CA
isRemoteRemote job flagtrue
isFeaturedFeatured/sponsored listingfalse
skillsTech stack tags["Python", "LLM", "FastAPI"]
perksBenefits and perks["Remote work", "Mentoring"]
postedAtRelative post time8h ago
tasksJob responsibilities["Build LLM pipelines", ...]
educationRequired education["Bachelor of Science"]
rolesRole tags["AI Engineer", "ML Engineer"]
applyUrlDirect apply linkhttps://aijobs.net/job/VhH.../apply/
descriptionMeta description"Architect and develop..."

💰 How much does it cost to scrape AI jobs from aijobs.net?

This actor uses pay-per-result (PPE) pricing — you only pay for data you actually extract.

PlanStart feeCost per 1,000 jobs
FREE$0.005$0.067
BRONZE$0.005$0.058
SILVER$0.005$0.046
GOLD$0.005$0.035
PLATINUM$0.005$0.023
DIAMOND$0.005$0.016

Typical run costs (BRONZE plan):

  • 10 jobs with detail pages: ~$0.006 total (start fee $0.005 + 10 × $0.000058)
  • 50 jobs with detail pages: ~$0.008 total
  • 100 jobs with detail pages: ~$0.011 total

Free plan estimate: Apify's free plan gives $5/month in platform credits, which covers roughly 85,000+ job extractions per month at BRONZE pricing.

The start fee ($0.005 one-time per run) covers actor initialization regardless of result count.

🚀 How to use it

Step 1 — Open the actor

Go to apify.com/automation-lab/aijobs-scraper and click Try for free.

Fill in the input fields:

  1. Search keyword — the skill or technology to filter by (e.g., LLM, PyTorch, MLOps). Leave empty for all AI jobs.
  2. Experience level — Entry-level, Mid-level, Senior-level, or Expert.
  3. Remote jobs only — toggle on to get only remote listings.
  4. Max results — how many jobs to extract (default: 50).
  5. Include job details — enable to fetch company names, tasks, and apply URLs.

Step 3 — Run

Click Save & Run. Results appear in the Dataset tab.

Step 4 — Export

Download as JSON, CSV, Excel, or XML from the dataset view, or connect via API.

⚙️ Input parameters

ParameterTypeDefaultDescription
searchKeywordStringKeyword filter (e.g., Python, LLM)
experienceLevelStringEN = Entry, MI = Mid, SE = Senior, EX = Expert
remoteOnlyBooleanfalseFilter for remote jobs only
maxResultsInteger50Max job listings to return
includeJobDetailsBooleantrueFetch full detail page (company, tasks, apply URL)
maxRequestRetriesInteger3Retries per failed request

📤 Output example

{
"url": "https://aijobs.net/job/ai-engineer-mts-remote-107552/",
"title": "AI Engineer (MTS)",
"company": "micro1",
"companyUrl": "https://aijobs.net/company/micro1-12373/",
"salaryRange": "USD 160K-300K",
"seniority": "Mid-level",
"jobType": "",
"location": "Remote",
"isRemote": true,
"isFeatured": true,
"skills": ["API Development", "AWS", "FastAPI", "LLM", "Python"],
"perks": ["Mentoring", "Open source contributions", "Remote work"],
"postedAt": "8h ago",
"tasks": [
"Architect and develop scalable AI systems",
"Build APIs for AI platforms",
"Develop and integrate LLMs and multimodal AI systems"
],
"education": ["Bachelor of Science", "Master of Science"],
"roles": ["AI Engineer", "Machine Learning Engineer"],
"applyUrl": "https://aijobs.net/job/VhHQynwS4G3fRGH/apply/",
"description": "Architect and develop scalable AI systems; Build APIs for AI platforms..."
}

💡 Tips

  • Use specific skill keywords like LLM, Kubernetes, or PyTorch for targeted results. Broad searches return 50k+ jobs — narrow it down.
  • Set includeJobDetails: false for faster, cheaper runs when you only need title, salary, location, and skills from list pages.
  • Combine filtersexperienceLevel: SE + remoteOnly: true for senior remote roles.
  • Run daily with a small maxResults to monitor new postings. Combine with webhooks to get Slack notifications.
  • Salary data is not always disclosed — some companies hide it; the salaryRange field will be empty for those listings.
  • Company names may be truncated — some companies display partially on the site. The companyUrl always resolves to the correct company page.

🔗 Integrations

Export to Google Sheets

Use Apify's Google Sheets integration to stream extracted jobs directly into a spreadsheet for team review or further filtering.

Feed a job recommendation engine

Use the structured skills and roles arrays to match job listings against candidate profiles in your internal database or ATS.

Daily job alert pipeline

Schedule this actor to run every morning with your target keyword. Combine with the Send Email actor to receive new listings in your inbox before most applicants see them.

Salary benchmarking dashboard

Export monthly snapshots of salaryRange + location + seniority to build a live AI salary benchmark tool. Visualise in Tableau, Google Data Studio, or Power BI.

ATS/CRM enrichment

Use companyUrl + company name to enrich your HR system with the companies actively hiring in AI — useful for targeted outreach and pipeline generation.

🔌 API usage

Node.js (Apify Client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automation-lab/aijobs-scraper').call({
searchKeyword: 'LLM',
experienceLevel: 'MI',
remoteOnly: true,
maxResults: 100,
includeJobDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python (Apify Client)

from apify_client import ApifyClient
client = ApifyClient(token="YOUR_APIFY_TOKEN")
run = client.actor("automation-lab/aijobs-scraper").call(run_input={
"searchKeyword": "LLM",
"experienceLevel": "MI",
"remoteOnly": True,
"maxResults": 100,
"includeJobDetails": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~aijobs-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchKeyword": "LLM",
"experienceLevel": "MI",
"remoteOnly": true,
"maxResults": 100,
"includeJobDetails": true
}'

🤖 MCP (Claude AI) integration

Use this actor directly from Claude Code, Claude Desktop, Cursor, or VS Code via the Apify MCP server.

Claude Code (terminal)

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/aijobs-scraper"

Then in Claude:

"Use the aijobs-scraper to find remote senior Python ML engineer jobs and give me the top 10 with salary ranges."

"Scrape 50 LLM engineer job listings from aijobs.net and tell me the most common required skills."

"Get entry-level AI jobs posted today and export them to a CSV."

Claude Desktop / Cursor / VS Code

Add to your MCP config file (claude_desktop_config.json or .cursor/mcp.json):

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/aijobs-scraper",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}

⚖️ Legality

This actor scrapes publicly accessible job listings from aijobs.net — the same data visible to any browser visitor without logging in. It respects normal HTTP request patterns and does not bypass authentication.

Before use, review aijobs.net's Terms of Service. Use responsibly:

  • Do not flood the site with excessive concurrent requests
  • Cache data locally rather than re-scraping the same listings repeatedly
  • Do not use scraped data to misrepresent job postings or contact companies without permission

❓ FAQ

Does this require an aijobs.net account? No. All scraped data is publicly accessible without authentication.

How many jobs can I extract? The site lists 50,000+ jobs. Pagination supports all available pages. Set maxResults to your desired limit.

How fresh is the data? Each run fetches live data — as fresh as aijobs.net's current listings. Jobs posted "8h ago" will reflect the actual posting time.

Why are some salary fields empty? Many companies on aijobs.net do not disclose salary ranges. The salaryRange field will be an empty string for those listings.

The filter returned some jobs outside my experience level — why? aijobs.net's server-side filter returns the closest matches. Some borderline listings may appear.

My run succeeded but returned fewer items than maxResults — why? The site may have fewer matching listings than your requested limit. Try a broader keyword or remove experience level filter.

Can I scrape job detail pages without visiting them? Set includeJobDetails: false to skip detail page fetches. You'll get list-only data (title, salary, skills, location, seniority) at roughly half the request cost.