Indeed Salary Analyzer
Pricing
Pay per event
Indeed Salary Analyzer
Comprehensive salary intelligence from Indeed - Extract and analyze compensation data for benchmarking, market research, and HR analytics.
Pricing
Pay per event
Rating
5.0
(2)
Developer

BarriereFix
Actor stats
0
Bookmarked
6
Total users
2
Monthly active users
14 days ago
Last modified
Categories
Share
Indeed Salary Analyzer - Compensation Benchmarking Data
Get aggregate salary data from Indeed.com for compensation benchmarking, market research, and HR analytics.
Extract salary ranges, averages, and sample sizes from Indeed's compensation database. Perfect for HR professionals, recruiters, compensation analysts, and job seekers researching market rates.
⚠️ IMPORTANT: This actor requires residential proxies to work on Apify platform. Enable "Use Residential Proxies" in the input settings (see Apify proxy pricing). See setup
🎯 What You Get
- 💰 Salary Ranges: Min, max, and average salaries from Indeed's aggregate data
- 📊 Sample Sizes: Number of salary reports backing each data point (e.g., 318 samples)
- 🎯 Confidence Scores: Quality metrics (0-100) based on sample size and data completeness
- ⚡ Hourly Equivalents: Normalized hourly rates for easy comparison across pay periods
- 📈 Historical Tracking: Monitor salary changes over time with incremental scraping
- 🔄 Change Detection: Track NEW, UPDATED, and UNCHANGED salary data across runs
- 🎚️ Quality Filtering: Filter by minimum sample size and confidence score
- 🛡️ Reliable: Uses residential proxies and stealth techniques to bypass Indeed's anti-bot protection
📋 Use Cases
For HR & Recruitment
- Set competitive salary ranges for job offers
- Benchmark compensation against market rates
- Budget for hiring plans with accurate salary data
- Identify salary trends by location and experience level
For Compensation Analysts
- Conduct salary surveys across industries
- Analyze pay equity across locations
- Track salary inflation and market changes
- Generate compensation reports for leadership
For Job Seekers
- Research salary expectations for target roles
- Compare salaries across different locations
- Understand compensation by experience level
- Negotiate offers with market data
For Market Researchers
- Track compensation trends in specific industries
- Analyze remote vs. on-site salary differences
- Monitor company-specific salary competitiveness
- Generate industry salary reports
⚠️ IMPORTANT: Residential Proxies Required
This actor requires residential proxies to bypass Indeed's anti-bot protection on Apify platform.
Why Residential Proxies?
Indeed.com blocks all requests from datacenter IPs (including Apify's infrastructure). Without residential proxies, you'll get ERR_EMPTY_RESPONSE errors and zero results.
How to Enable
In the Apify Console UI:
- Open the actor input form
- Find "Use Residential Proxies" checkbox
- Enable it (check the box)
- Run the actor
Via API/JSON:
{"jobTitles": ["Software Engineer"],"locations": ["San Francisco, CA"],"useResidentialProxies": true // ← REQUIRED}
Cost
- Residential proxies: Required for reliable scraping (see Apify proxy pricing)
- Typical run: Low data usage (10-100 salary records)
- Compute costs: Standard Apify platform compute pricing applies
See current pricing in the Apify Console when starting a run.
The actor will NOT work without this setting enabled on Apify platform.
🚀 Quick Start
Example 1: Search by Job Title
{"searchMode": "job_titles","jobTitles": ["Software Engineer", "Data Scientist"],"locations": ["San Francisco, CA", "New York, NY"],"maxResults": 100,"minSampleSize": 10,"useResidentialProxies": true}
Example 2: Location Comparison
{"searchMode": "locations","locations": ["San Francisco, CA", "Austin, TX", "Remote"],"jobTitles": ["Frontend Developer"],"maxResults": 150}
📥 Input Configuration
Required Fields
| Field | Type | Description |
|---|---|---|
searchMode | string | How to search: job_titles, companies, locations, or keywords |
Search Parameters
| Field | Type | Description | Default |
|---|---|---|---|
jobTitles | array | List of job titles to analyze | [] |
companies | array | List of companies to analyze | [] |
locations | array | Geographic locations (e.g., "San Francisco, CA") | [] |
keywords | array | Keywords to search for | [] |
experienceLevels | array | Filter by: entry, mid, senior, lead, all | ['all'] |
industryFilter | array | Optional industry filters | [] |
Output Configuration
| Field | Type | Description | Default |
|---|---|---|---|
maxResults | integer | Maximum salary records to scrape (1-10,000) | 10 |
includeSalaryRange | boolean | Include min/max ranges | true |
includeHistoricalData | boolean | Track changes across runs | true |
minSampleSize | integer | Minimum salaries required for a record | 0 |
onlyVerifiedSalaries | boolean | Only high-confidence data | false |
Performance & Anti-Blocking
| Field | Type | Description | Default |
|---|---|---|---|
useResidentialProxies | boolean | Enable for high-volume scraping | false |
requestDelay | integer | Delay between requests (ms) | 2000 |
maxConcurrency | integer | Concurrent requests (1-10) | 3 |
📤 Output Data
Salary Record Schema
{"schemaVersion": "1.0.0","jobTitle": "Software Engineer","location": "San Francisco, CA","salaryMin": 150000,"salaryMax": 200000,"averageSalary": 175000,"salaryCurrency": "USD","salaryPeriod": "year","hourlyMin": 72.12,"hourlyMax": 96.15,"hourlyAverage": 84.13,"sampleSize": 318,"confidenceScore": 100,"dataQuality": "high","sourceUrl": "https://www.indeed.com/career/software-engineer/salaries/san-francisco-ca","scrapedAt": "2025-10-09T12:00:00Z","changeType": "NEW","firstSeenAt": "2025-10-09T12:00:00Z","lastSeenAt": "2025-10-09T12:00:00Z","version": "1.0.0"}
Field Descriptions
| Field | Description |
|---|---|
jobTitle | Job title or position name |
location | Geographic location |
salaryMin/Max | Salary range boundaries (annual) |
averageSalary | Average salary from Indeed's sample data |
salaryCurrency | Currency code (USD, EUR, GBP, etc.) |
salaryPeriod | Payment period (hour, year, month) |
hourly* | Normalized hourly rates for easy comparison |
sampleSize | Number of salary reports in Indeed's dataset |
confidenceScore | Data reliability score (0-100) |
dataQuality | Quality assessment: high, medium, low |
changeType | Change tracking: NEW, UPDATED, or UNCHANGED |
firstSeenAt | First time this data was scraped |
lastSeenAt | Last time this data was updated |
📊 Dataset Views
The actor provides 2 specialized views in the Apify Console:
1. Overview
All salary records with key compensation data including ranges, averages, sample sizes, and quality scores - perfect for general benchmarking and analysis.
2. Salary Ranges
Focused view on salary ranges with min/max/average data and confidence scoring - ideal for compensation planning and quick comparisons.
💡 Best Practices
For Accurate Results
- Use specific job titles: "Senior Software Engineer" vs. "Engineer"
- Include locations: Salaries vary significantly by region
- Set appropriate sample size:
minSampleSize: 20for high reliability - Enable historical tracking: Monitor trends over time
- Always enable residential proxies: Required on Apify platform
For Cost Optimization
- Start with lower maxResults: Test with 10-20 records first
- Increase request delay: Higher delays = more stable scraping
- Lower concurrency: Use maxConcurrency: 1-2 for best reliability
For HR/Recruitment
- Search mode: job_titles: Most relevant for compensation planning
- Enable salary ranges:
includeSalaryRange: true(default) - Set minSampleSize: Use
minSampleSize: 20for reliable data - Track changes: Run weekly to monitor market shifts
🔄 Scheduling
Recommended Schedules
Weekly monitoring (stay current with market):
Cron: 0 9 * * 1Description: Every Monday at 9 AM
Monthly reports (trend analysis):
Cron: 0 10 1 * *Description: 1st of each month at 10 AM
Daily tracking (high-priority positions):
Cron: 0 8 * * *Description: Every day at 8 AM
💰 Pricing
Pay-Per-Event Model: You pay only for salary records scraped.
- Event Name:
salary-record-ingested - Transparent Billing: Track costs in real-time
- Premium B2B Tool: Professional pricing for business intelligence
See current pricing in the Apify Console when starting a run.
Note: Configure pricing in Apify Console → Actor → Monetization after deployment.
🛡️ Legal & Ethics
Important Considerations
- Indeed's Terms of Service prohibit automated scraping
- This actor is for educational and research purposes only
- Always respect Indeed's
robots.txtand rate limits - Consider using Indeed's official APIs for commercial use
- Publicly available data may be scraped under fair use, but verify local laws
Responsible Scraping
- Use reasonable request delays (2000ms+)
- Limit concurrent requests (max 3-5)
- Don't scrape personal identifiable information
- Respect website performance and availability
🔧 Technical Details
Architecture
- Runtime: Node.js 20+ with TypeScript
- Framework: Crawlee (CheerioCrawler for efficiency)
- Proxy Support: Apify Proxy (Datacenter & Residential)
- State Management: Apify Key-Value Store
- Output: Apify Dataset with 5 views
Data Processing Pipeline
- Scrape: Extract raw salary data from Indeed pages
- Normalize: Convert to standard format with hourly rates
- Validate: Quality checks and confidence scoring
- Deduplicate: Remove duplicates (in-run and historical)
- Enrich: Add change detection and metadata
- Save: Store with pay-per-event billing
Anti-Bot Strategy
- Residential proxies via Apify Proxy
- User-Agent rotation
- Request delays (configurable)
- Session management
- Exponential backoff on errors
- Circuit breaker pattern
📈 Performance
Expected Metrics
- Speed: ~10-20 records/minute (with 2s delay)
- Success Rate: Target >93% (matching Indeed actor average)
- Memory: ~500MB peak
- CPU: Low (HTTP-based, not browser automation)
Optimization Tips
- HTTP over Playwright: 10x faster for Indeed's JSON-based data
- Batch requests: Search multiple titles/locations efficiently
- State management: Avoid re-scraping unchanged data
- Proxy selection: Use datacenter for speed, residential for reliability
🐛 Troubleshooting
Common Issues
Issue: Getting blocked by Indeed
- Solution: Enable residential proxies, increase request delay
Issue: Low confidence scores
- Solution: Increase
minSampleSize, enableonlyVerifiedSalaries
Issue: No results found
- Solution: Check job title spelling, try broader searches
Issue: Duplicate records
- Solution: Enable
includeHistoricalDatafor better deduplication
Issue: Too slow
- Solution: Decrease
maxResults, increasemaxConcurrency(with proxies)
📞 Support
Questions or issues?
- Email: kontakt@barrierefix.de
- GitHub Issues: Create an issue
- Apify Store: Leave a review
📝 Changelog
v1.0.0 (2025-10-09)
- Initial release
- Multi-mode search (job titles, companies, locations, keywords)
- Salary benchmarking with confidence scores
- Historical tracking and change detection
- Pay-per-event monetization
- 5 specialized dataset views
🏆 Why Choose This Actor?
✅ Focused on Salary Intelligence: Unlike generic job scrapers, extracts only aggregate compensation data ✅ Quality Metrics: Confidence scores and sample sizes for reliable decision-making ✅ Clean Output: No null values - only fields with actual data ✅ Historical Tracking: Monitor market changes over time with change detection ✅ Normalized Data: Hourly rate equivalents for easy comparison across pay periods ✅ B2B-Optimized: Built for HR professionals, recruiters, and compensation analysts ✅ Pay-Per-Event: Cost-effective pricing - pay only for salary records extracted ✅ Well-Maintained: Built with TypeScript following Apify best practices
🔗 Integration with Automation Tools
n8n Workflow Example
Weekly Salary Benchmarking:
Schedule (Monday 9am)↓Apify: Run Indeed Salary Analyzer↓Filter: confidenceScore >= 80↓Google Sheets: Update salary benchmarks↓Slack: Post summary to #hr-team
Zapier Workflow Example
Compensation Planning:
1. Trigger: Manual or scheduled2. Run Indeed Salary Analyzer3. Filter: sampleSize > 504. Airtable: Save to salary database5. Gmail: Send report to hiring managers
Make.com Workflow Example
Market Intelligence Automation:
1. Indeed Salary Analyzer: Scrape target roles2. Iterator: Process each salary record3. HTTP: Enrich with location cost-of-living data4. Google Sheets: Merge with company pay bands5. Notion: Update compensation strategy page
❓ Frequently Asked Questions
Do I need an Indeed API key?
No! This scraper extracts salary data from Indeed's public pages. No API key or authentication required.
Can I use this with n8n, Zapier, or Make?
Yes! The flat JSON output integrates perfectly with automation tools like n8n, Zapier, and Make. Export to CSV for Google Sheets or Excel analysis.
How accurate are the salary estimates?
Accuracy depends on sample size. Records with 50+ salaries reported (high sampleSize) are generally reliable. The confidenceScore (0-100) helps you filter for quality data.
Why do I need residential proxies?
Indeed blocks datacenter IPs (including Apify's infrastructure). Without residential proxies, you'll get ERR_EMPTY_RESPONSE errors. Enable useResidentialProxies: true in your input.
Can I track salary changes over time?
Yes! Enable includeHistoricalData: true and schedule recurring runs. The actor tracks changeType (NEW, UPDATED, UNCHANGED) and timestamps (firstSeenAt, lastSeenAt) for trend analysis.
What's the difference between salaryMin/Max and averageSalary?
salaryMin/salaryMax= Salary range boundaries from Indeed's dataaverageSalary= Mean salary from Indeed's samplehourly*fields = Normalized hourly rates for easy comparison across pay periods
How many salary records can I scrape per run?
Set maxResults (1-10,000). Start small (10-20 records) to test, then scale up. See current pricing in the Apify Console when starting a run.
Can I filter by experience level?
Yes! Use the experienceLevels parameter with values like entry, mid, senior, lead, or all (default).
What if a job title has no salary data?
The scraper will skip records with insufficient data. Use minSampleSize to ensure only records with enough salaries are included.
How do I schedule recurring runs for market monitoring?
Use Apify's built-in scheduler (cron syntax) or integrate with n8n/Zapier. We recommend weekly runs for salary tracking, monthly for benchmarking reports.
📞 Support & Feedback
- Email: kontakt@barrierefix.de
- Issues: GitHub Issues
- Documentation: Full docs on Apify Store
🔗 Explore More of Our Actors
🏢 Business Intelligence
| Actor | Description |
|---|---|
| Crunchbase Scraper | Extract company data and funding information for business intelligence |
| Northdata Scraper | Extract German company data from Northdata for business research |
| Shopify Store Intelligence | Analyze Shopify stores for competitive intelligence and market research |
| Apify Store Radar | Monitor Apify Store actors for market intelligence |
| GitHub Sponsors Scraper | Extract GitHub Sponsors data for developer funding research |
💬 Social Media & Community
| Actor | Description |
|---|---|
| Reddit Scraper Pro | Monitor subreddits and track keywords with sentiment analysis |
| Discord Scraper Pro | Extract Discord messages and chat history for community insights |
| YouTube Comments Harvester | Comprehensive YouTube comments scraper with channel-wide enumeration |
| YouTube Contact Scraper | Extract YouTube channel contact information for outreach |
| YouTube Shorts Scraper | Scrape YouTube Shorts for viral content research |
🔍 SEO & Marketing
| Actor | Description |
|---|---|
| Ahrefs Scraper Pro | Extract SEO metrics and backlink data from Ahrefs |
| Semrush Scraper | Scrape Semrush for keyword research and competitor analysis |
| Event Scraper Pro | Extract events from Eventbrite, Meetup, and other platforms |
🏷️ SEO Keywords
Indeed salary data, compensation benchmarking, salary scraper, market salary research, HR analytics, salary intelligence, compensation analysis, Indeed data extraction, salary ranges, pay scale data, compensation data API, Indeed API alternative, salary survey data, market rate analysis, compensation planning tool, how to scrape Indeed salaries, Indeed salary analyzer, salary comparison tool, HR compensation data, recruitment salary intelligence, n8n Indeed integration, Zapier Indeed scraper, Make Indeed automation, Indeed market research, salary trend tracking
Built by Barrierefix - Enabling data-driven compensation decisions