AI/ML Jobs Scraper avatar

AI/ML Jobs Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
AI/ML Jobs Scraper

AI/ML Jobs Scraper

Scrape AI/ML jobs from 150+ companies via Greenhouse, Lever, RemoteOK, WeWorkRemotely, and YC. Extracts skills, frameworks, salary, and experience. Optional AI enrichment. Change detection and webhook alerts.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Rohith S

Rohith S

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Categories

Share

AI/ML Job Scraper

Scrape AI and ML job listings from 200+ companies including OpenAI, Anthropic, Google, Meta, Stripe, and Vercel. This machine learning job tracker scrapes Greenhouse, Lever, RemoteOK, WeWorkRemotely, YC Work at a Startup, Otta, and Ashby in parallel. Get structured data with skills, frameworks, salary ranges, experience levels, and optional AI-powered enrichment — all in one run.


How to Scrape AI and ML Job Listings

  1. Configure inputs — select sources, add keyword filters, enable AI enrichment
  2. Run the actor — scrapes all sources in parallel, classifies every job
  3. Get results — structured JSON with company, title, skills, salary, apply URL
  4. Set up alerts — webhook notifications for new matching jobs

What You Get

  • 200+ companies — OpenAI, Anthropic, Google, Meta, Stripe, Vercel, and 200+ more
  • 7 sources — Greenhouse, Lever, RemoteOK, WeWorkRemotely, YC, Otta, Ashby
  • AI-powered classification — skills, AI frameworks, LLM technologies, experience level, visa sponsorship
  • Change detection — track new, updated, and removed jobs between runs
  • Webhook alerts — get notified on Slack/Discord when matching jobs appear
  • Analytics summary — top companies, skills, salary ranges, remote percentage

Sample Output

{
"hash": "a1b2c3d4...",
"source": "greenhouse",
"company": "Anthropic",
"companyWebsite": "https://anthropic.com",
"title": "Research Engineer, Interpretability",
"department": "Research",
"location": "San Francisco, CA",
"remote": false,
"salaryMin": 200000,
"salaryMax": 350000,
"skills": ["Python", "PyTorch", "JAX"],
"aiFrameworks": ["PyTorch", "JAX"],
"llmTech": ["LLM", "fine-tuning", "embeddings"],
"experienceLevel": "senior",
"aiRelevanceScore": 88,
"changeType": "created",
"applyUrl": "https://boards.greenhouse.io/anthropic/jobs/12345"
}

AI Job Market Data and Analytics

Every run generates an analytics summary stored in the key-value store:

{
"totalJobs": 1247,
"topCompanies": [
{ "name": "OpenAI", "count": 45 },
{ "name": "Anthropic", "count": 32 },
{ "name": "Google", "count": 28 }
],
"topSkills": [
{ "skill": "Python", "count": 890 },
{ "skill": "PyTorch", "count": 567 },
{ "skill": "TensorFlow", "count": 345 }
],
"salaryRanges": { "min": 80000, "max": 450000, "median": 185000 },
"remotePercentage": 62
}

Track Machine Learning Engineer Salaries

The actor detects salary ranges from job descriptions and normalizes them to USD. Filter by minimum salary to find high-paying roles:

{
"alertMinSalary": 200000,
"sources": ["greenhouse", "lever"],
"webhookUrl": "https://hooks.slack.com/services/..."
}

How Much Does It Cost?

Pay per event pricing:

What You Pay ForPrice
Per 1,000 jobs scraped$1.00
Per 1,000 AI-enriched jobs$2.00
Actor start$0.05 (infrequent)

Example: Scraping 500 jobs with AI enrichment costs ~$1.50 total.

Free tier includes: 100 jobs, 2 sources (Greenhouse + RemoteOK), no AI enrichment.


Input Configuration

FieldTypeDefaultDescription
sourcesstring[]All 5Which job boards to scrape
keywordsstring[][]Filter by keywords (e.g., "Python", "LLM")
companiesstring[][]Filter by company name
classifyWithAIbooleanfalseEnable LLM enrichment
classificationModestring"hybrid"deterministic, hybrid, or ai
tierstring"starter"free, starter, pro, or enterprise
maxItemsinteger1000Max jobs per run
detectChangesbooleantrueTrack changes between runs
webhookUrlstring""Slack/Discord webhook for alerts

Classification Modes

ModeAPI CallsSpeedBest For
Deterministic0FastHigh-frequency scheduled runs
Hybrid~20-40% of jobsMediumMost use cases (recommended)
AIEvery jobSlowDeep market analysis

What Data Gets Classified

  • Skills — Python, TypeScript, PyTorch, TensorFlow, etc.
  • AI Frameworks — PyTorch, JAX, Hugging Face, LangChain, etc.
  • LLM Technologies — GPT, Claude, Llama, fine-tuning, RAG, etc.
  • Experience Level — entry, mid, senior, lead, principal
  • Salary Range — min/max in USD
  • Remote Status — fully remote, hybrid, on-site
  • Visa Sponsorship — detected from job descriptions

Webhook Alerts

Set webhookUrl to get notified when new jobs match your criteria:

{
"sources": ["greenhouse", "lever"],
"keywords": ["Python", "LLM"],
"alertKeywords": ["senior", "staff"],
"alertMinSalary": 200000,
"webhookUrl": "https://hooks.slack.com/services/..."
}

Supported: Slack, Discord, or any HTTP endpoint accepting JSON.


Use Cases

  • Job seekers — find AI/ML roles across all major companies in one search
  • Recruiters — monitor competitor hiring and track open positions
  • Market researchers — analyze AI job trends, salary benchmarks, skill demand
  • AI teams — track which companies are hiring for specific AI specializations

Scheduling

Schedule recurring runs to track the AI job market:

Use CaseFrequencyTier
Job seekerEvery 6 hoursStarter
RecruiterEvery 12 hoursPro
Market researcherWeeklyEnterprise
Real-time alertsEvery 1 hourEnterprise

API Access

Every run generates a dataset accessible via the Apify API:

# Get results
curl "https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=json"
# Get analytics
curl "https://api.apify.com/v2/key-value-stores/{KV_ID}/records/ANALYTICS"

Environment Variables

VariableRequiredDescription
GROQ_API_KEYOptionalFor AI enrichment (fast, free tier available)
OPENROUTER_API_KEYOptionalFor AI enrichment (flexible model selection)

FAQ

Is this legal? Yes. This actor only accesses publicly available job postings from official APIs (Greenhouse, Lever) and public job boards. No authentication or login is required.

How fresh is the data? Each run scrapes the latest listings from all sources. For real-time tracking, schedule runs every 1-6 hours.

Can I add my own companies? Yes. Use customGreenhouseTokens and customLeverSlugs to add companies not in the built-in list.

What if a source fails? One source failing doesn't crash the actor. You'll get a warning in the logs and results from the remaining sources.

How does AI enrichment work? When enabled, the actor sends each job description to an LLM (Groq or OpenRouter) which extracts structured data: skills, frameworks, experience level, salary normalization, and more. This adds ~$0.002 per job.


Changelog

  • v2.1.0 (2026-09): Output schema, dataset schema, PPE monetization, SEO optimization
  • v2.0.0 (2026-09): AI enrichment, change detection, webhook alerts, batch processing
  • v1.0.0 (2026-08): Initial release with 5 sources, deterministic classification

License

MIT