Amazon Jobs Scraper avatar

Amazon Jobs Scraper

Pricing

Pay per event

Go to Apify Store
Amazon Jobs Scraper

Amazon Jobs Scraper

Scrape job listings from amazon.jobs worldwide. Returns title, team, category, location, posting date, full description, basic and preferred qualifications and the apply link. Pay per job.

Pricing

Pay per event

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrapes job listings from Amazon Jobs. Each row has the title, team and category, every location, the posting date, the full description, the basic and preferred qualifications and the apply link, ready for a spreadsheet, a database or an AI agent.

What you can do with it

  • Search by one or more keywords, or leave the keywords empty to list all open jobs.
  • Narrow the search by country, location and job category.
  • Get the newest postings first (sortBy: recent, the default), or sort by relevance.
  • Keep only recent postings with postedWithinDays.
  • Paste Amazon Jobs search pages or single job pages into startUrls. Tracking parameters such as utm_source are ignored.
  • Run it on a schedule to build a daily feed of new Amazon jobs.

Input

FieldMeaningDefault
searchQueriesKeywords, one search each. Empty means all jobs.all jobs
locationCities, regions or countries, for example Seattle, Texas, Germany, Berlin, Germanyall locations
countryCountry names or codes (Germany, DE, DEU)all countries
categoryJob categories, for example Software Developmentall categories
sortByrecent or relevantrecent
postedWithinDaysOnly jobs posted in the last N days, 0 or empty = no filterno filter
maxResultsPerQueryCap per keyword, location and start URL10
maxResultsCap across all searches, empty = no total capno total cap
startUrlsAmazon Jobs search or job page URLsnone

An empty input ({}) runs a small demo that returns the 5 newest jobs, so you can see the output format.

Each search returns at most 10,000 jobs, so split very large pulls by country or category.

Examples:

{
"searchQueries": ["data scientist", "solutions architect"],
"country": ["Germany", "United Kingdom"],
"sortBy": "recent",
"postedWithinDays": 14,
"maxResultsPerQuery": 100
}
{
"category": ["Software Development"],
"location": ["Seattle, Washington, USA"],
"maxResultsPerQuery": 200
}
{
"startUrls": [
"https://www.amazon.jobs/en/search?base_query=python&country=DEU",
"https://www.amazon.jobs/en/jobs/10588363/head-operations"
],
"maxResultsPerQuery": 50
}

Supported URLs

URLWhat you get
https://www.amazon.jobs/en/search?base_query=python&country=DEUJobs of that search, with its keyword, country, category and location filters
https://www.amazon.jobs/en/jobs/10588363/head-operationsThat one job
https://www.amazon.jobs/en/searchAll jobs, newest first

Output

One row per job. Missing values are null (or an empty list), never an empty string.

FieldMeaning
idInternal Amazon posting id (UUID)
job_idThe Job ID shown on the job page, unique per posting
titleJob title
job_url, source_urlPublic job page
source_platformamazon.jobs
apply_urlLink to apply
company_nameHiring Amazon company
business_categoryBusiness area, for example retail or aws
job_category, job_familyCategory and family as the site lists them
team, team_slugTeam, when the posting names one
job_schedule_typeFor example full-time
is_internBest-effort flag derived from the title and the team: true when the title or team names an internship or the team is a student program, otherwise false. The site has no such field, so check edge cases yourself
location, normalized_location, cityPrimary location
state_code, stateState or province code (WA) and full name (Washington) of the primary location
country_code, country_code_iso2, countryCountry of the primary location
all_locationsEvery location of the job: city, state, country, type, latitude, longitude, building codes
posted_atPosting date (ISO date)
updated_timeHow long ago the posting was updated, as the site shows it
description, description_htmlFull description as text and as HTML
basic_qualifications, basic_qualifications_htmlBasic qualifications
preferred_qualifications, preferred_qualifications_htmlPreferred qualifications, null when the posting has none
search_queryThe keyword that found the job (null without a keyword or for job URLs)
scraped_atWhen the row was collected (UTC)

Sample row (long texts shortened):

{
"id": "d246900d-df77-4ca9-92c0-14cc81e498ea",
"job_id": "10587034",
"title": "Principal Applied Scientist, AWS Data Center Services",
"job_url": "https://www.amazon.jobs/en/jobs/10587034/principal-applied-scientist-aws-data-center-services",
"apply_url": "https://account.amazon.jobs/jobs/10587034/apply",
"company_name": "Amazon Data Services, Inc.",
"business_category": "aws",
"job_category": "Applied Science",
"job_family": "Applied Science",
"team": "Machine learning",
"job_schedule_type": "full-time",
"is_intern": false,
"normalized_location": "Seattle, Washington, USA",
"city": "Seattle",
"state_code": "WA",
"state": "Washington",
"country_code": "USA",
"country": "United States",
"posted_at": "2026-10-22",
"updated_time": "2 days",
"description": "Application deadline: Oct 27, 2026 ...",
"basic_qualifications": "PhD in Machine Learning, Computer Vision, Statistics or in a highly quantitative field. ...",
"search_query": "data scientist",
"scraped_at": "2026-10-26T08:39:47Z"
}

Pricing

This Actor uses pay-per-event pricing:

  • job-result: one event for every job row that lands in the dataset. Duplicates across searches are removed first and are not charged.
  • apify-actor-start: one event per run.

That is $1.00 per 1,000 jobs + $0.001 per run start. The description and qualifications come with every job at no extra charge. If you set a maximum charge per run, the Actor stops when the next job would exceed it and reports how many jobs were delivered.

Every Apify account includes a monthly free credit, which is enough to try the Actor on real searches.

Use with AI agents (MCP)

Connect this Actor to any MCP-compatible AI client through the Apify MCP server:

https://mcp.apify.com?tools=santamaria-automations/amazon-jobs-scraper

Example prompt once connected: "Use amazon-jobs-scraper to list the newest software development jobs at Amazon in Germany posted in the last 7 days, with their basic qualifications."

FAQ

How do I find the URL of a search? Open Amazon Jobs in your browser, set the keyword and filters you want, and copy the address bar into startUrls. Or skip URLs and use searchQueries, country, location and category.

Why is a field empty? Amazon does not fill every field for every posting. team is only set when the posting names a team, preferred_qualifications is empty for some roles, and state_code and state are empty in countries without states.

How do I get only new jobs? Schedule the Actor with sortBy: recent and postedWithinDays: 1 (or 2 for an overlap). Use job_id to de-duplicate against earlier runs.

How do I stop at a budget? Set maxResults, or the maximum charge per run in the run options. At $1.00 per 1,000 jobs, 500 jobs cost about $0.50.

Why does a job show a different city than the one I searched? Many jobs are posted for several cities. city is the first one, all_locations lists them all.

Support

Open an issue in the Issues tab of this Actor, or write to contact@nanoscrape.com.