Amazon APIhiring.amazon.ca ↗
Search Amazon Canada hourly job openings by location. Get job titles, pay rates, employment types, and location data from hiring.amazon.ca.
What is the Amazon API?
The hiring.amazon.ca API exposes 1 endpoint — search_jobs — that returns hourly warehouse and fulfillment job listings from Amazon's Canadian hiring portal. Each response includes job title, pay rate, employment type, and location metadata. Results are scoped by geographic coordinates and an optional search radius, making it straightforward to build location-aware job discovery tools for Amazon's Canadian distribution network.
curl -X GET 'https://api.parse.bot/scraper/7546f6d8-3de6-4f74-8383-f2fec448d67a/search_jobs?distance=100&keywords=warehouse+associate&latitude=43.6532&longitude=-79.3832&page_size=100' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace hiring-amazon-ca-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Amazon Hiring Canada SDK — bounded, re-runnable; every call capped."""
from parse_apis.hiring_amazon_ca_api import AmazonHiringCA, ParseError
client = AmazonHiringCA()
# Search warehouse jobs near Toronto (lat/lng required, results auto-iterated).
for job in client.jobs.search(latitude="43.6532", longitude="-79.3832", keywords="warehouse associate", distance=100, limit=3):
print(job.job_title, job.location_name, job.total_pay_rate_min_l10n)
# Take one result if available.
first = client.jobs.search(latitude="49.2827", longitude="-123.1207", limit=1).first()
if first:
print(first.job_title, first.city, first.employment_type)
try:
for job in client.jobs.search(latitude="51.0447", longitude="-114.0719", distance=200, limit=3):
print(job.job_id, job.job_title, job.distance_km)
except ParseError as e:
print(f"error: {e}")
print("exercised: jobs.search")
Search Amazon hourly job openings in Canada by geographic location. Returns job cards with title, pay rate, employment type, and location details. Results are location-based; provide latitude/longitude coordinates and a search radius in kilometers. An empty result set is normal when no positions are currently open in the searched area.
| Param | Type | Description |
|---|---|---|
| distance | integer | Search radius in kilometers from the specified coordinates. |
| keywords | string | Search keywords to filter jobs (e.g. 'warehouse associate', 'delivery'). |
| latituderequired | string | Latitude of search center as a decimal number (e.g. '43.6532' for Toronto). |
| longituderequired | string | Longitude of search center as a decimal number (e.g. '-79.3832' for Toronto). |
| page_size | integer | Maximum number of job cards to return per request. |
{
"type": "object",
"fields": {
"jobs": "array of job card objects with title, pay, location, and metadata",
"next_token": "pagination cursor for the next page of results, or null",
"total_results": "number of jobs returned in this response"
},
"sample": {
"data": {
"jobs": [],
"next_token": null,
"total_results": 0
},
"status": "success"
}
}About the Amazon API
What the API Returns
The search_jobs endpoint queries Amazon's Canadian hourly job listings and returns an array of job card objects. Each card includes the job title (e.g. warehouse associate, delivery station associate), pay rate, employment type (full-time, part-time, seasonal), and location details such as facility address and city. The response also includes total_results — the count of jobs returned in the current response — and a next_token pagination cursor for stepping through additional pages.
Filtering and Search Parameters
Location is the core filter: latitude and longitude are required inputs, and you can control the coverage area with the optional distance parameter (in kilometers). For example, passing Toronto's coordinates (43.6532, -79.3832) with a distance of 50 returns all qualifying Amazon hourly roles within 50 km of Toronto. The optional keywords parameter accepts terms like 'warehouse associate' or 'delivery' to narrow results by role type. Use page_size to control how many job cards are returned per call.
Pagination and Coverage
Pagination is cursor-based: if more results exist beyond the current page, the response includes a non-null next_token value that can be passed in a subsequent request to retrieve the next batch. When no more results exist, next_token returns null. An empty result set for a given coordinate pair is expected behavior — it means no open hourly roles are currently listed near that location, not an error condition. Coverage is limited to hourly, non-exempt roles listed on hiring.amazon.ca; corporate or salaried positions listed elsewhere on Amazon's career properties are not included.
The Amazon API is a managed, monitored endpoint for hiring.amazon.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hiring.amazon.ca changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official hiring.amazon.ca API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Map open Amazon hourly warehouse roles across Canadian provinces using facility location data.
- Alert job seekers when new Amazon positions matching a keyword like 'forklift' appear near their coordinates.
- Aggregate pay rate data across Amazon Canada facilities to analyze hourly wage distribution by region.
- Build a commute-radius filter that surfaces only Amazon jobs within a user-defined distance from their home address.
- Track changes in Amazon Canada's hourly headcount demand over time by polling total_results for major metros.
- Filter full-time versus part-time Amazon Canada openings by employment type for workforce research.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.