AI/ML Jobs Scraper
Pricing
from $1.00 / 1,000 results
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
Maintained by CommunityActor 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
- Configure inputs — select sources, add keyword filters, enable AI enrichment
- Run the actor — scrapes all sources in parallel, classifies every job
- Get results — structured JSON with company, title, skills, salary, apply URL
- 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 For | Price |
|---|---|
| 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
| Field | Type | Default | Description |
|---|---|---|---|
sources | string[] | All 5 | Which job boards to scrape |
keywords | string[] | [] | Filter by keywords (e.g., "Python", "LLM") |
companies | string[] | [] | Filter by company name |
classifyWithAI | boolean | false | Enable LLM enrichment |
classificationMode | string | "hybrid" | deterministic, hybrid, or ai |
tier | string | "starter" | free, starter, pro, or enterprise |
maxItems | integer | 1000 | Max jobs per run |
detectChanges | boolean | true | Track changes between runs |
webhookUrl | string | "" | Slack/Discord webhook for alerts |
Classification Modes
| Mode | API Calls | Speed | Best For |
|---|---|---|---|
| Deterministic | 0 | Fast | High-frequency scheduled runs |
| Hybrid | ~20-40% of jobs | Medium | Most use cases (recommended) |
| AI | Every job | Slow | Deep 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 Case | Frequency | Tier |
|---|---|---|
| Job seeker | Every 6 hours | Starter |
| Recruiter | Every 12 hours | Pro |
| Market researcher | Weekly | Enterprise |
| Real-time alerts | Every 1 hour | Enterprise |
API Access
Every run generates a dataset accessible via the Apify API:
# Get resultscurl "https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=json"# Get analyticscurl "https://api.apify.com/v2/key-value-stores/{KV_ID}/records/ANALYTICS"
Environment Variables
| Variable | Required | Description |
|---|---|---|
GROQ_API_KEY | Optional | For AI enrichment (fast, free tier available) |
OPENROUTER_API_KEY | Optional | For 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