Discover/AstraZeneca API
live

AstraZeneca APIcareers.astrazeneca.com

Search AstraZeneca job openings worldwide. Filter by keyword, category, country, and city. Returns job details, descriptions, and direct application URLs.

Endpoint health
verified 4d ago
list_cities_by_country
search_jobs
list_countries
get_job_detail
list_job_categories
5/5 passing latest checkself-healing
Endpoints
5
Updated
26d ago

What is the AstraZeneca API?

The AstraZeneca Careers API covers 5 endpoints for searching and retrieving AstraZeneca job postings globally. search_jobs returns paginated results with titles, locations, posting dates, and canonical URLs, while get_job_detail delivers the full job description as HTML, Schema.org structured data, a requisition ID, and a direct application link for any individual listing.

Try it
Page number for pagination (1-based).
Number of results per page (max 50).
Search keywords to match against job titles and descriptions.
api.parse.bot/scraper/50ebd257-21ae-46d7-b087-b813967417e9/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/50ebd257-21ae-46d7-b087-b813967417e9/search_jobs?page=1&limit=5&query=Engineer' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 careers-astrazeneca-com-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: AstraZeneca Careers SDK — search jobs, drill into details, explore locations."""
from parse_apis.astrazeneca_careers_api import AstraZeneca, JobNotFound

client = AstraZeneca()

# Search for engineering jobs — limit= caps total items fetched.
for job in client.jobsummaries.search(query="Engineer", limit=3):
    print(job.title, job.location)

# Drill into the first result's full details via .details().
summary = client.jobsummaries.search(query="Data Scientist", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.title, detail.job_id, detail.apply_url)

# Fetch a job directly by URL via the jobs collection.
try:
    job = client.jobs.get(url="https://careers.astrazeneca.com/job/rockville/process-engineer/7684/95453340816")
    print(job.title, job.location, job.date_posted)
except JobNotFound as exc:
    print(f"Job removed: {exc}")

# List countries and drill into a country's cities.
country = client.countries.list(limit=1).first()
if country:
    for city in country.cities.list(limit=5):
        print(city.display, city.count)

# Browse job categories.
for cat in client.categories.list(limit=5):
    print(cat.display, cat.count)

print("exercised: jobsummaries.search / summary.details / jobs.get / countries.list / country.cities.list / categories.list")
All endpoints · 5 totalmissing one? ·

Full-text search over AstraZeneca job openings worldwide. Returns paginated results with job titles, locations, and URLs. An empty query returns all open positions. Paginates via integer page counter; each page contains up to `limit` results.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based).
limitintegerNumber of results per page (max 50).
querystringSearch keywords to match against job titles and descriptions.
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job summary objects each containing title, url, location, job_id, and date_posted",
    "has_jobs": "boolean, whether any jobs matched the query",
    "total_pages": "integer, total number of pages available",
    "current_page": "integer, current page number",
    "total_results": "integer, total number of matching jobs"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "url": "https://careers.astrazeneca.com/job/rockville/process-engineer/7684/95453340816",
          "title": "Process Engineer",
          "job_id": "",
          "location": "Rockville, Maryland",
          "date_posted": ""
        }
      ],
      "has_jobs": true,
      "total_pages": 35,
      "current_page": 1,
      "total_results": 171
    },
    "status": "success"
  }
}

About the AstraZeneca API

Searching and Browsing Jobs

The search_jobs endpoint accepts an optional query string matched against job titles and descriptions. Omitting the query returns all open positions. Results paginate via a 1-based page integer with up to 50 results per page (limit). Each result object includes title, url, location, job_id, and date_posted, alongside top-level counts: total_results, total_pages, and current_page.

Job Detail

Pass any url returned by search_jobs to get_job_detail to retrieve the full posting. The response includes description_html (the complete job description), structured_data (Schema.org JobPosting object), apply_url (direct link to the application form), job_id (the AstraZeneca requisition ID in the format R-XXXXXX), location, and date_posted.

Filtering by Location and Category

list_job_categories returns every department or function with a current open role, each with an id, display name, and count of open positions. list_countries returns the same shape for countries. Once you have a country's id and display from list_countries, pass both as country_facet_id and country_name to list_cities_by_country to get city-level breakdowns within that country. All three listing endpoints return their full datasets in a single response with no pagination.

Reliability & maintenanceVerified

The AstraZeneca API is a managed, monitored endpoint for careers.astrazeneca.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when careers.astrazeneca.com 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 careers.astrazeneca.com 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.

Last verified
4d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate AstraZeneca openings into an internal recruiting dashboard filtered by country and department
  • Monitor newly posted AstraZeneca roles by polling search_jobs and comparing date_posted values
  • Build a job alert service that watches for positions in a specific city using list_cities_by_country
  • Extract Schema.org structured data from get_job_detail to feed a job aggregator or search index
  • Analyze the geographic distribution of AstraZeneca hiring using list_countries and list_cities_by_country counts
  • Retrieve direct apply_url links for a browser extension or candidate-facing job board
  • Track category-level headcount demand by polling list_job_categories over time
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does AstraZeneca offer an official public developer API for its careers portal?+
AstraZeneca does not publish an official developer API for careers.astrazeneca.com. There is no documented public endpoint or API key program for third-party access to their job listings.
What does `get_job_detail` return beyond what `search_jobs` includes?+
search_jobs returns summary fields: title, url, location, job_id, and date_posted. get_job_detail adds description_html (the full posting body), structured_data (the Schema.org JobPosting object), and apply_url (the direct application link), which are not present in search results.
Can I filter `search_jobs` results by country or job category directly?+
The search_jobs endpoint filters by keyword (query), page, and limit only. Country and category data are available as separate facet endpoints (list_countries, list_job_categories) that return IDs and counts, but passing those IDs as filters into search_jobs is not currently supported. You can fork this API on Parse and revise it to add category and country filter parameters to search_jobs.
Are salary or compensation details included in job responses?+
Salary and compensation fields are not currently exposed. The API returns description_html and Schema.org structured_data from the posting, so any compensation information present in those fields would appear there, but there are no dedicated salary fields in the response schema. You can fork this API on Parse and revise it to extract and surface salary data from the structured content if AstraZeneca includes it in specific postings.
How current are the job listings returned by this API?+
Results reflect the active postings on careers.astrazeneca.com at the time of the request. Each job object includes a date_posted field. Closed or filled positions are not returned by search_jobs; they are removed once no longer active on the source site.
Page content last updated . Spec covers 5 endpoints from careers.astrazeneca.com.
Related APIs in JobsSee all →
cvshealth.com API
Search and apply for CVS Health job openings across multiple categories, locations, and roles. Filter positions by keyword, category, or location to find relevant opportunities and get direct links to submit your application.
novartis.com API
Search and browse Novartis job openings across different locations, divisions, and job functions. Get detailed information about specific positions including requirements, responsibilities, and application details.
apply.careers.microsoft.com API
Search Microsoft job openings by keywords and location, then view detailed information about positions including job descriptions and required qualifications. Easily browse available roles across Microsoft with filtering and pagination to find opportunities that match your career goals.
boss.az API
Search and browse job listings from boss.az with detailed vacancy information, and instantly access company contact details including emails and phone numbers directly from job postings. Filter opportunities by job categories and regions to find positions that match your needs.
amazon.jobs API
Search and browse Amazon job openings by keywords, location, and category, then view detailed information about specific positions. Filter results across multiple job categories and locations with easy pagination.
cv.lv API
Search for job listings on CV.lv and access detailed job descriptions, categories, locations, and information about top employers. Find the right opportunity by browsing available positions across different industries and regions.
job.at API
Search and browse jobs on Austria's job.at platform, view detailed job listings with salary info and company details, and use autocomplete features to refine your search by location and keywords. Discover featured positions, explore job categories, and find related job titles to expand your career opportunities.
metacareers.com API
Search and browse Meta job openings across all departments and locations. Filter by keyword, experience level, or role category — including University Graduate and AR/VR specializations — and retrieve comprehensive details for each listing, including job description, requirements, salary range, and application link.