Amazon Jobs Scraper
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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 asutm_sourceare ignored. - Run it on a schedule to build a daily feed of new Amazon jobs.
Input
| Field | Meaning | Default |
|---|---|---|
searchQueries | Keywords, one search each. Empty means all jobs. | all jobs |
location | Cities, regions or countries, for example Seattle, Texas, Germany, Berlin, Germany | all locations |
country | Country names or codes (Germany, DE, DEU) | all countries |
category | Job categories, for example Software Development | all categories |
sortBy | recent or relevant | recent |
postedWithinDays | Only jobs posted in the last N days, 0 or empty = no filter | no filter |
maxResultsPerQuery | Cap per keyword, location and start URL | 10 |
maxResults | Cap across all searches, empty = no total cap | no total cap |
startUrls | Amazon Jobs search or job page URLs | none |
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
| URL | What you get |
|---|---|
https://www.amazon.jobs/en/search?base_query=python&country=DEU | Jobs of that search, with its keyword, country, category and location filters |
https://www.amazon.jobs/en/jobs/10588363/head-operations | That one job |
https://www.amazon.jobs/en/search | All jobs, newest first |
Output
One row per job. Missing values are null (or an empty list), never an empty string.
| Field | Meaning |
|---|---|
id | Internal Amazon posting id (UUID) |
job_id | The Job ID shown on the job page, unique per posting |
title | Job title |
job_url, source_url | Public job page |
source_platform | amazon.jobs |
apply_url | Link to apply |
company_name | Hiring Amazon company |
business_category | Business area, for example retail or aws |
job_category, job_family | Category and family as the site lists them |
team, team_slug | Team, when the posting names one |
job_schedule_type | For example full-time |
is_intern | Best-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, city | Primary location |
state_code, state | State or province code (WA) and full name (Washington) of the primary location |
country_code, country_code_iso2, country | Country of the primary location |
all_locations | Every location of the job: city, state, country, type, latitude, longitude, building codes |
posted_at | Posting date (ISO date) |
updated_time | How long ago the posting was updated, as the site shows it |
description, description_html | Full description as text and as HTML |
basic_qualifications, basic_qualifications_html | Basic qualifications |
preferred_qualifications, preferred_qualifications_html | Preferred qualifications, null when the posting has none |
search_query | The keyword that found the job (null without a keyword or for job URLs) |
scraped_at | When 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.
Related actors
- Website Job Extractor: jobs from any company career page
- Indeed HTTP Scraper: international job board
- Glassdoor Scraper: jobs, salaries and reviews
- Website Email Scraper: find contact emails for hiring companies
- Website Contact Extractor: emails and phones from company websites
Support
Open an issue in the Issues tab of this Actor, or write to contact@nanoscrape.com.