Discover/Apple API
live

Apple APIjobs.apple.com

Search Apple job listings by keyword, location, and team. Retrieve full job descriptions, pay ranges, and location data via 4 structured endpoints.

Endpoint health
verified 5d ago
search_locations
get_job_details
search_jobs
quickfind
4/4 passing latest checkself-healing
Endpoints
4
Updated
21d ago

What is the Apple API?

The Apple Jobs API provides 4 endpoints for querying open positions on jobs.apple.com, returning structured data including job titles, team assignments, posting dates, full descriptions, and pay ranges. The search_jobs endpoint supports keyword search, location filtering, and three sort modes, returning up to 20 results per page with total record counts. Companion endpoints handle location lookup, job detail retrieval, and title autocomplete.

Try it
Page number (1-based).
Sort order.
Search keyword (e.g. 'machine learning', 'software engineer'). Empty string returns all jobs.
Locale code (e.g. 'en-us').
Location filter ID(s), comma-separated. Use search_locations to find valid IDs. Can use full ID like 'postLocation-SFMETRO' or short code like 'SFMETRO'.
api.parse.bot/scraper/fe01b80a-ae55-44cf-beb0-5e8df44d30c8/<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/fe01b80a-ae55-44cf-beb0-5e8df44d30c8/search_jobs?page=1&sort=relevance&query=software+engineer&locale=en-us' \
  -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 jobs-apple-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.

from parse_apis.apple_jobs_api import AppleJobs, Sort, JobNotFound

client = AppleJobs()

# Search for locations to get filter IDs
for loc in client.locations.search(query="San Francisco"):
    print(loc.name, loc.code, loc.display_name)

# Search jobs with sorting and location filter
for job in client.jobs.search(query="machine learning", sort=Sort.NEWEST, location="SFMETRO", limit=5):
    print(job.title, job.posting_date, job.team.name)
    for loc in job.locations:
        print(loc.name, loc.country)
    # Drill into full details
    detail = job.details()
    print(detail.description, detail.employment_type, detail.minimum_qualifications)

# Autocomplete job titles
for title in client.jobs.quickfind(query="data sci"):
    print(title)
All endpoints · 4 totalmissing one? ·

Full-text search over Apple job listings. `query` matches title and summary; `sort` orders results by relevance, newest, or oldest. Location filtering uses IDs from search_locations (e.g. 'SFMETRO'). Returns 20 results per page. Each job summary includes title, team, posting date, and locations but not full description — use get_job_details for that.

Input
ParamTypeDescription
pageintegerPage number (1-based).
sortstringSort order.
querystringSearch keyword (e.g. 'machine learning', 'software engineer'). Empty string returns all jobs.
localestringLocale code (e.g. 'en-us').
locationstringLocation filter ID(s), comma-separated. Use search_locations to find valid IDs. Can use full ID like 'postLocation-SFMETRO' or short code like 'SFMETRO'.
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job summary objects with id, position_id, title, summary, posting_date, type, team, locations",
    "per_page": "integer - results per page (20)",
    "total_pages": "integer - total pages available",
    "current_page": "integer - current page number",
    "total_records": "integer - total matching jobs"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "id": "200665352-0351",
          "team": {
            "teamID": "teamsAndSubTeams-MLAI",
            "teamCode": "MLAI",
            "teamName": "Machine Learning and AI"
          },
          "type": "PIPE",
          "title": "Machine Learning Engineer",
          "summary": "Are you passionate about frontier AI technology...",
          "locations": [
            {
              "city": "",
              "name": "Beijing",
              "level": 5,
              "metro": "",
              "region": "",
              "countryID": "iso-country-CHN",
              "countryName": "China",
              "stateProvince": "",
              "postLocationId": "postLocation-BJS"
            }
          ],
          "home_office": false,
          "position_id": "200665352",
          "posting_date": "May 27, 2026",
          "weekly_hours": 40,
          "posting_date_gmt": "2026-05-27T02:16:33.082Z",
          "is_multi_location": false,
          "transformed_title": "machine-learning-engineer"
        }
      ],
      "per_page": 20,
      "total_pages": 133,
      "current_page": 1,
      "total_records": 2656
    },
    "status": "success"
  }
}

About the Apple API

Search and Filter Job Listings

The search_jobs endpoint accepts a query string matched against job titles and summaries, a location filter using IDs sourced from search_locations, and a sort parameter accepting relevance, newest, or oldest ordering. Results are paginated at 20 per page; the response includes total_records, total_pages, and current_page fields for cursor management. Each job summary object carries id, position_id, title, summary, posting_date, type, team, and locations.

Full Job Detail

The get_job_details endpoint takes a composite job_id (e.g. 200657324-0836) from search results and returns the complete posting: full description text, teams array with code/name/id, detailed locations with city/state/country/metro/region breakdowns, a home_office boolean, and eeo_content as raw HTML when present. Pay range data is also included at this level and is absent from search summaries.

Location and Title Discovery

search_locations resolves a plain-language place name (e.g. San Francisco, London) into location objects containing id, code, name, display_name, city, state_province, and level. The returned id or code values feed directly into search_jobs as the location parameter. The quickfind endpoint accepts a partial job title string and returns up to 10 autocomplete suggestions from active listings — useful for normalizing title strings before running a full search.

Reliability & maintenanceVerified

The Apple API is a managed, monitored endpoint for jobs.apple.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jobs.apple.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 jobs.apple.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
5d ago
Latest check
4/4 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
  • Monitor new Apple job postings by team or location using search_jobs with sort=newest and a team keyword
  • Build a job alert system that tracks total_records changes for a saved query over time
  • Aggregate Apple hiring trends by parsing team and posting_date fields across paginated results
  • Extract full job descriptions and qualifications via get_job_details for skills analysis or resume matching
  • Resolve city or metro names to valid location IDs using search_locations before constructing filtered searches
  • Autocomplete job title inputs in a search UI using the quickfind endpoint against live Apple listings
  • Identify whether specific roles (e.g. machine learning, computer vision) are hiring remotely via the home_office field
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 Apple provide an official public API for its job listings?+
Apple does not publish a documented public developer API for jobs.apple.com. There is no official endpoint, SDK, or API key program available for third-party access to job listing data.
What does `get_job_details` return that `search_jobs` does not?+
get_job_details adds the full description text, a home_office boolean, structured teams objects with code and id, granular location fields (city, state_province, country, metro, region), eeo_content as HTML, and pay range information. The search_jobs response includes only summary-level fields: title, team name, posting date, type, and coarse location.
How does pagination work in `search_jobs`?+
Results are fixed at 20 per page. The response includes total_records, total_pages, and current_page integers. Pass the page parameter (1-based) to step through results. There is no cursor or offset parameter — only integer page numbers are supported.
Does the API cover Apple job listings outside the United States?+
The search_jobs endpoint accepts location IDs for international offices returned by search_locations, so non-US postings are reachable when a valid international location ID is supplied. However, the locale parameter influences which regional listings appear, and coverage depth for non-US regions may vary. You can fork this API on Parse and revise it to add region-specific defaults or locale presets for international coverage.
Can I retrieve application status or submit a job application through this API?+
No. The API covers search, detail retrieval, location lookup, and title autocomplete — all read-only data about open postings. Application submission, candidate status, and recruiter contact data are not exposed. You can fork this API on Parse and revise it to add an endpoint if jobs.apple.com exposes application-related data at a reachable path.
Page content last updated . Spec covers 4 endpoints from jobs.apple.com.
Related APIs in JobsSee all →
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.
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.
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.
Workday Jobs API
Search and retrieve job postings and detailed descriptions from any company's Workday career site. Find open positions across all organizations using Workday's hiring platform and access complete job details in one place.
jobs.vodafone.com API
Search and explore current Vodafone job openings, view detailed position information, discover similar roles, and gain insights about career opportunities across the company. Find the total number of available jobs and get relevant data to support your job search and career planning at Vodafone.
seek.com.au API
Search for job listings on SEEK Australia and retrieve detailed information about positions. Browse jobs across any keyword, title, and location, and access full job descriptions, classifications, salary info, and employment details.
nvidia.wd5.myworkdayjobs.com API
Search and browse current NVIDIA job openings by title, location, and department, then retrieve detailed information about specific positions including requirements and application details. Provides real-time access to available roles across the company.
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.