How to Scrape Every Job Online

Global jobs data is one of the most fragmented markets on the internet. Nobody knows exactly how many active job platforms exist worldwide, but the best triangulation from directories (Jobboard Finder lists 957, JobBoardSearch indexes 824, editorial estimates put the count above 3,000 active boards) plus tens of thousands of long-tail city / association / university boards means the total is in the tens of thousands, with 200,000+ if you count anything with a listings page. Layer on top ~200-400 ATS vendors sitting in front of well over a million employer career pages. This guide shows how to cover the 104+ platforms that account for the majority of employer spend.

Job scrapers: 104+ maintained (this catalog)
Countries: 29+
Cost: From $1 per 1,000 jobs (ATS-native)
Tools: Apify + NanoScrape catalog + optional Gemini free tier
Request Job Feed private beta access Browse all NanoScrape job scrapers on Apify

In this tutorial

  1. The real scale of the global job market
  2. The 3-tier stack + Job Feed orchestrator
  3. Which scraper do I need? 4 use cases, 4 tools
  4. Your first run in 5 minutes
  5. The catalog: 104+ job scrapers by country
  6. Pricing at a glance
  7. Get Job Feed private beta access

The real scale of the global job market

By the NanoScrape team - Published 2026-09-02 - Updated 2026-09-02

A common misconception is that LinkedIn plus Indeed plus a handful of ATS platforms covers all online jobs. That is nowhere near the truth. The best available triangulation from public directories and editorial estimates puts the count much higher, structured in five tiers of decreasing revenue relevance:

Pyramid diagram showing five tiers of global job platforms from Tier 0 global aggregators at the top (40-60 platforms, 40 percent of employer spend) down to Tier 4 long-tail listings pages at the base (200,000 plus platforms, under 1 percent of spend). A note at the bottom states the NanoScrape catalog covers Tier 0 plus 1 plus a slice of Tier 2 equalling 85 percent or more of employer spend.
The global job market tier pyramid. Revenue concentration follows a steep power law: Tier 0 and 1 together represent roughly 85% of employer spend despite being fewer than 1,000 platforms.

On top of this taxonomy sits a completely different shape: about 200 to 400 ATS vendors globally, with the top ~30 sitting in front of well over a million employer career pages. That is why the NanoScrape Career Site Jobs Scraper alone touches more employer surface than any 500 Tier-2 job boards combined.

Our maintained catalog covers all of Tier 0 and 1 and a meaningful slice of Tier 2 - 104 shipped job scrapers across 30+ countries and 12 industry verticals. Revenue across the tiers follows a much harder power law than count does: Tier 0 and 1 likely represent 85%+ of total employer spend. Coverage of Tier 3+ has diminishing marginal utility unless the source is an ATS (which multiplies to thousands of endpoints per integration) or a defended DACH incumbent (pricing power). That framing shapes our roadmap.

The bottom line: nobody scrapes every job online. What matters is coverage of the platforms that carry paying employers - Tier 0 and 1, plus the top ATS platforms. This catalog handles both. For the parts that don't fit any commercial ATS or aggregator, our LLM extractors (Tier 2/3 of our own stack) fill the gap.

The 3-tier stack and the Job Feed orchestrator

Beyond the country-specific catalog below, three cross-cutting actors handle careers-page scraping at scale plus a fourth orchestrator that ties everything together:

For the full technical playbook - input examples, output schemas, mapper script, cost math, n8n automation - see the companion tutorial: How to Scrape Every Fortune 500 Job Listing. This guide focuses on the catalog: which actors cover which country and vertical.

Which scraper do I need? 4 use cases, 4 tools

Decision tree diagram asking what you are scraping. Four branches: known platform such as LinkedIn or Glassdoor leads to the catalog; supported ATS careers page leads to Career Site Jobs Scraper at one dollar per thousand jobs; any careers page with unknown ATS leads to Website Job Extractor with LLM auto-detection; multi-source unified feed leads to the Job Feed orchestrator in private beta.
Use this tree to pick the right tool before you start. If you are unsure which ATS a target company uses, start with Website Job Extractor - it auto-detects and emits ats_url so future runs can switch to the cheaper Tier 1 path.

Someone searching for a jobs scraper has one of four underlying needs. Match yours to the right tool:

  1. Scrape a known platform (Glassdoor, Indeed, Totaljobs, ...): find it in the catalog below, click through, run the actor.
  2. Scrape a company's careers page on a supported ATS: use Career Site Jobs Scraper. Cheapest option at $1 per 1,000 jobs.
  3. Scrape any careers page, ATS unknown: use Website Job Extractor. Auto-detects ATS on the way in; falls back to LLM extraction for custom sites.
  4. Unified multi-source feed at scale: use the Job Feed orchestrator (private beta). Give it a source list, get one clean, deduplicated, schema-unified feed.

Your first run in 5 minutes

The fastest way to see real job data is with the Job Bank Canada Scraper. Job Bank Canada (jobbank.gc.ca) is Canada's official federal government employment board. It has no bot protection, a stable public API, and returns rich structured data including NOC 2021 occupation codes, bilingual flags, hourly wages, and province-level location. It is the ideal starting point for anyone new to the NanoScrape catalog.

Step 1 - Open the actor page

Go to apify.com/santamaria-automations/jobbank-ca-scraper and click Try for free. This opens the Apify Console with a pre-configured input form. You do not need a credit card - the Apify free tier ($5/month) is more than enough for a test run.

Step 2 - Paste the input JSON

Switch the input tab from the visual form to JSON mode and paste the following:

{
  "keywords": "software developer",
  "location": "Ontario",
  "maxItems": 50
}

This searches for software developer roles in Ontario with a limit of 50 results. You can change keywords to any job title and location to any Canadian province or city. Remove location entirely to search across all of Canada.

Step 3 - Click Start and wait

Click Start. The run typically finishes in under 30 seconds for 50 results. When the status indicator turns green, click the Results tab to see your data.

Step 4 - Inspect the output

Each result row is a structured job object. A typical output item looks like this:

[
  {
    "job_url": "https://www.jobbank.gc.ca/jobsearch/jobposting/40812345",
    "title": "Senior Software Developer",
    "company": "Acme Systems Inc.",
    "location": "Toronto, Ontario",
    "salary": "$90,000 to $115,000 per year",
    "employment_type": "Full-time",
    "noc_code": "21232",
    "bilingual": false,
    "posted_date": "2026-08-30",
    "closing_date": "2026-09-20",
    "vacancies": 2,
    "description": "We are looking for a Senior Software Developer to join our platform team..."
  },
  {
    "job_url": "https://www.jobbank.gc.ca/jobsearch/jobposting/40819988",
    "title": "Full Stack Developer",
    "company": "Maple Digital Ltd.",
    "location": "Ottawa, Ontario",
    "salary": "$75,000 to $95,000 per year",
    "employment_type": "Full-time",
    "noc_code": "21232",
    "bilingual": true,
    "posted_date": "2026-08-29",
    "closing_date": "2026-09-15",
    "vacancies": 1,
    "description": "Maple Digital is hiring a Full Stack Developer for our SaaS team..."
  }
]
Next steps after your first run: export the dataset as CSV or JSON from the Results tab, then follow the same four steps with any other actor in the catalog. Every NanoScrape job scraper uses the same Apify Console workflow - only the input fields differ.

The catalog: 86 job scrapers by country

Horizontal bar chart showing NanoScrape job scraper actor counts by country. Switzerland leads with 14 actors, United Kingdom has 12, Global multi-country actors total 18, United States has 9, Germany has 7, Austria has 4, and 14 other countries each have 1 to 2 actors.
NanoScrape job scraper coverage by country. Darker bars indicate 5 or more dedicated actors. Switzerland and the United Kingdom have the deepest regional coverage. 18 global actors cover multiple countries in a single run.

All 86 shipped NanoScrape job scrapers grouped by primary country. Each entry summarizes what's unique about the data. Follow any actor link for the full input schema, output examples, code snippets, and pricing.

United States (9 actors)

United Kingdom (12 actors)

Canada (1 actor)

Ireland (1 actor)

Germany (7 actors)

Austria (4 actors)

Switzerland (14 actors)

France (2 actors)

Spain (1 actor)

Italy (2 actors)

Netherlands (1 actor)

Denmark (2 actors)

Sweden (2 actors)

Norway (1 actor)

Finland (1 actor)

Poland (2 actors)

Czech Republic (1 actor)

Romania (1 actor)

Ukraine (2 actors)

Russia (2 actors)

Global (18 actors)

Pricing at a glance

All NanoScrape actors use Apify's pay-per-event (PPE) model. No monthly seats, no minimums. Apify's $5/month free tier covers meaningful testing on any actor.

Horizontal bar chart comparing cost per 1,000 jobs for five NanoScrape scraper types. Career Site Jobs Scraper costs $1, Website Job Extractor HTTP costs $4, country-specific boards average $5, Website Job Extractor Browser costs $6, and global aggregators such as LinkedIn and Indeed average $8 per 1,000 jobs.
Cost per 1,000 jobs by scraper type. The cheapest path is always Tier 1 (ATS-native) when the target company uses a supported ATS. Use Website Job Extractor to auto-detect before committing to a higher tier.
Free tier math: $5/month Apify credit covers 5,000 jobs on Career Site Jobs Scraper - enough for a daily pulse on 10-20 companies. Gemini free tier fully covers LLM extraction for up to 70 careers pages per day.

Get access to Job Feed private beta

The 104+ actors above give you the building blocks. If you want one REST endpoint returning fresh, deduplicated, normalized jobs from every source refreshed daily, that is Job Feed. Currently in private beta while we onboard teams one by one.

To request access: visit the Job Feed landing page and fill in the form with your use case and expected daily job volume. We respond within 48 hours.

FAQ

How many job platforms exist worldwide?

Nobody knows exactly. Public directories list under 1,000 boards (Jobboard Finder: 957, JobBoardSearch: 824), but these systematically under-count. Editorial estimates put it above 3,000 active boards. Including city, association, university, and long-tail micro-niches, the total is likely tens of thousands, with 200,000+ if you count anything with a listings page. On a separate axis, roughly 200-400 ATS vendors sit in front of well over a million employer career pages - a much larger surface than any single job board.

Why doesn't your catalog include LinkedIn or Indeed?

It does - see the Global aggregators section. LinkedIn (linkedin-scraper) reads public job data. Indeed (indeed-scraper) is available and returns structured job listings for public queries. Both are subject to platform terms; use responsibly and consult your legal team for scaled commercial use.

Which is cheaper: ATS-native scraping or LLM extraction?

ATS-native (Tier 1: Career Site Jobs Scraper) is 4x cheaper per job than LLM HTTP (Tier 2) and 6x cheaper than Browser (Tier 3). If you know the target company runs a supported ATS, always use Tier 1. If not, let Tier 2 auto-detect and it will emit ats_url so you can switch to Tier 1 on the next run.

Can I run multi-country scraping in one job?

Yes. Multiple actors are inherently multi-country: welcome-to-the-jungle-scraper (FR/UK/DE/ES/CZ), seek-scraper (8 APAC countries), computrabajo-scraper (19 LATAM countries), hh-ru-scraper (RU/KZ/UZ/BY). For broader coverage, run multiple single-country actors in parallel via the Apify API and merge datasets, or use the Job Feed orchestrator for automated routing.

How often is the catalog updated?

We ship approximately 25 new job platform actors per week from our build queue. Published actors appear in this catalog immediately; the build queue file (our internal build queue) tracks shipped-unpublished (in testing) and queued (upcoming). This tutorial regenerates from the same source so new actors show up on the next deploy.

Related resources

Request Job Feed private beta access Browse all job scrapers on Apify