Job Posting Datasets

451M+ job postings since January 2020 from 185 sources, covering 250 countries and territories. Use our historical archive to backfill analyses or run sales intelligence on hiring trends over time.

451M+
New Postings
since 2020
31B
Data Points
since 2020
16M
Merged Companies
in Database
250
Countries & Territories
Covered per Month

Try it free

No sales call - start with the free tier that fits how you want to use the data.

Jobs API

JSON queries across all countries (last 3 months). Free Basic plan: 100 requests = 1,000 job postings per month.

Start free on RapidAPI

Data feed

Ongoing data: daily JSON Lines files on AWS S3 with the last 3 months of postings. Free for Luxembourg, same format as every paid country feed.

Get the free feed (AWS)

Historical dataset

History since January 2020: every daily file for a country. Free for Luxembourg, same format as every paid dataset.

Get the free dataset (AWS)

Historic Job Postings since 2020

451M+ job postings since January 2020, across 250 countries and territories - delivered as JSON documents for large-scale analysis. Two things people mostly use it for:

For example, the US alone accounts for 116M postings since January 2020 - see US coverage or browse all 250 countries & territories.

Free on AWS Data Exchange - same format as every paid country. Field reference: Job Data Overview.

Pricing

$2,400–4,800 per country for the complete archive since January 2020, priced by that country's monthly posting volume. Discounts for bundles of 3+ countries and for research institutions. A full free Luxembourg dataset is available with no purchase required, so you can evaluate the format first.

Country volumePriceExample
Under ~10K new postings/month$2,400e.g. Nicaragua (~1K/month)
~10K–100K new postings/month$3,600e.g. Denmark, Norway, Austria (~33K–66K/month)
100K+ new postings/month$4,800e.g. Spain, Germany, United States (100K–900K+/month)

Based on published AWS Data Exchange listings; exact bracket boundaries may vary by country.

See the full pricing comparison across API, datafeeds, and datasets.

Sample Dataset Entry

Delivered as newline-delimited JSON (JSONL), one job posting per line - shown pretty-printed here for readability:

{
  "title": "Senior Backend Engineer",
  "company": "Example GmbH",
  "countryCode": "de",
  "city": "Berlin",
  "workPlace": ["Remote"],
  "industry": "Information Technology",
  "skills": ["Python", "Kubernetes", "PostgreSQL"],
  "dateCreated": "2026-09-18T09:12:00.000Z",
  "portal": "linkedin",
  "source": "linkedin_de"
}

Full field reference: Data Dictionary.

Integrations

Delivered to your own AWS S3 bucket, or via AWS Data Exchange subscription.

Over 6 years of historic job data

Global coverage of the labour market

Easy delivery via AWS S3 files

Ready-to-use JSON data

Original cleaned data: job title, company, location, etc.

Trusted payments via AWS Data Exchange

8M
New Jobs
per Month
2M
Direct Jobs
per Month
444M
Data Points
per month
185
Sources Used
per Month

Job Data Use Cases

Extract actionable insights to boost your sales, market, investment, recruitment, business, or competitive intelligence now!

We enable you to collect and filter large amounts of job postings without developing, maintaining, and operating your own job crawling and scraping infrastructure to make data-driven decisions!

Historical Dataset FAQ

What's the difference between the Jobs API, RSS API, data feeds and historical datasets?

The Job Posting API searches the last 3 months of job postings across all countries and is billed per request on RapidAPI. The RSS API delivers the same postings as RSS/XML feeds, e.g. for job board backfill. Data feeds are per-country subscriptions on AWS Data Exchange: daily gzip-compressed JSON Lines files on AWS S3, refreshed hourly. Historical datasets contain every daily file for a country from January 2020 onwards.

Is there data before 2020?

No. The archive starts in January 2020. Historical datasets contain every daily file of a country from January 2020 to today.

How does AWS Data Exchange work, and where is my S3 bucket?

You subscribe with your AWS account and AWS bills it with your AWS invoice. AWS Data Exchange then grants your account read access to the S3 bucket with the daily files - the bucket alias and prefix are shown under 'Entitled data' in the console, and new files appear automatically. Read them directly or copy them to your own bucket. All data is stored in AWS eu-central-1 (Frankfurt). Step-by-step commands are in the developer section.

What does a country, a bundle or all countries cost?

A data feed costs $400 per country & month (lower monthly rates for 3- and 12-month terms), a historical dataset $2,400 - $4,800 per country, one-time depending on the country's volume. The Jobs API covers all countries in every plan at $1 per 1,000 job postings. For bundles or all countries, ask our Data Team for a quote.

Is there a startup or research discount?

Yes, for data feeds on AWS Data Exchange: startups under 5 years old get 50% off for up to 12 months, and research and academic projects get a discount with proof of affiliation. Contact our Data Team to apply.

Can I pay by invoice or bank transfer?

Data feeds and historical datasets are billed by AWS through your AWS account - whether you pay the AWS invoice by bank transfer or card depends on your AWS account settings. API plans are paid via RapidAPI by credit card. Techmap does not invoice directly.

Can I buy only a filtered subset (e.g. an industry, occupation or company)?

No. Data feeds and datasets always contain all postings of a country, and you filter them in your pipeline (e.g. by industry, occupation, company). For smaller volumes, the Jobs API returns filtered results directly.

Is there a free tier?

Yes, four: the BASIC plan of the Jobs API on RapidAPI (100 requests = 1,000 job postings per month), the BASIC plan of the RSS API (30 requests = 300 job postings per month), and on AWS Data Exchange the free Luxembourg data feed and Luxembourg historical dataset - the same formats as every paid country.

How are duplicates handled?

Duplicates are flagged, not deleted. A job posting with the same company name, city, country and job title within a 3-day window gets isDuplicate: true, and isDuplicateOf points to the earliest identical posting - also across portals. In the API, add isDuplicate=false to exclude them. Kept duplicates are useful for analysis, e.g. where a company distributes its job ads and how much it spends on them.

Build something great!

Unleash the full potential of our high-quality job postings to achieve your business objectives and gain a competitive edge in your industry!

Excellent Service

Our reliable services are tailored to meet your needs, helping you achieve your goals with confidence.

Scalable Solution

Our global coverage is designed to support your use-case, enabling you to easily add new markets.

Fast Set-up

Download job postings from our API or AWS S3 and load them into your Databases in minutes.

Explore our Data!