Apple hiring-trend tracking
Apple Jobsエンドポイントを使えば、「Apple hiring-trend tracking」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Search Apple's own careers site (jobs.apple.com) — by keyword and Apple's own location slugs — and get a single posting by id, as structured JSON. No login, no brittle DOM scraping.
Search Apple's own careers site (jobs.apple.com) by keyword and location and get one posting by id, as structured JSON.
エンドポイントファミリー
3
ドキュメント化されたパラメータ
8
サンプル数
3
ライブカタログスナップショット
稼働エンドポイント
3
メソッド
GET
必須パラメータ
5
スキーマ参照
3
{
"platform": "Apple Jobs",
"endpoint": "apple-jobs-search",
"method": "GET",
"path": "/apple-jobs/search",
"auth": "apiKey"
}ユースケース
Search Apple's own careers site (jobs.apple.com) by keyword and location and get one posting by id, as structured JSON.
Apple Jobsエンドポイントを使えば、「Apple hiring-trend tracking」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Apple Jobsエンドポイントを使えば、「Job posting aggregation and monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Apple Jobsエンドポイントを使えば、「Recruiting and talent-market research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
マネージド実行
以下の数値はすべて、稼働中のApple Jobsエンドポイントカタログから取得しています(エンドポイント3件、ドキュメント化されたリクエストパラメータ8個、公開レスポンススキーマ3件)。DocsとPlaygroundが参照しているカタログと同じものです。
Apple Jobsのエンドポイントは3件、3つのリクエストファミリーに分類されています(Job、Locations、Search)。
これらのApple Jobsエンドポイントには8個のリクエストパラメータがドキュメント化されており、うち5個が必須です。統合コードを書く前に入力仕様をすべて確認できます。
3件のApple Jobsエンドポイントのうち3件が実際のサンプルレスポンスを、3件がドキュメント化されたレスポンススキーマを備えています。最初のリクエストの前に実データの形に合わせて実装できます。
Apple Jobsのエンドポイントは成功時のスキーマに加えてエラーレスポンス(400、404、429、503)もドキュメント化しています。ブロック、レート制限、レコード欠損は空データではなく型付きのエラーとして返ります。
Apple Jobsのエンドポイントは3個のホスト型MCPツールとして提供されており、エージェントは同じパラメータと同じJSON契約のまま、追加の実装なしに同じルートを呼び出せます。
カバレッジマップ
これらのカードは稼働中のエンドポイントカタログから生成されるため、このページはDocsとPlaygroundが使うAPIサーフェスをそのまま反映します。
/apple-jobs/job
/apple-jobs/locations
/apple-jobs/search
エンドポイントカタログ
/apple-jobs/searchSearches Apple's public careers site (jobs.apple.com) via its server-rendered search page's embedded job data. Page size is fixed by Apple at 20 results. Search results carry identity/location/team metadata only — call the job endpoint for the full description and qualifications.
レスポンスに関する注記
- A valid query with no matches returns `total: 0` and an empty `jobs` array (not an error). - `jobs[].id` is either a compound `<role-number>-<location-suffix>` (e.g. `200674676-0836`) for a specific corporate requisition, or a `PIPE-<role-number>` id for an evergreen/pipeline retail posting (e.g. Genius Bar, Technical Specialist roles) — both are valid inputs to the job endpoint. - `jobs[].posted_at` is parsed from an embedded ISO8601 timestamp. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "software engineer", "location": "united-states-USA", "page": 1, "total": 5390, "jobs": [ { "id": "200674676-0836", "position_id": "200674676", "title": "Optical Software Engineer", "team": "Hardware", "location": "Cupertino, United States of America", "locations": ["Cupertino, United States of America"], "country": "United States of America", "posted_at": "2026-07-22T14:10:44Z", "url": "https://jobs.apple.com/en-us/details/200674676-0836/optical-software-engineer" } ], "source_url": "https://jobs.apple.com/en-us/search?location=united-states-USA&search=software+engineer" } } ```
MCPツール apple_jobs_search
/apple-jobs/jobReturns one Apple Careers posting by its job id (the `id` field returned by search, e.g. `200674676-0836` for a specific requisition or `PIPE-200314122` for an evergreen/pipeline retail role). Parsed from jobs.apple.com's server-rendered job detail page.
レスポンスに関する注記
- An unknown or no-longer-listed job id returns `404`. - `description`, `responsibilities`, `minimum_qualifications`, and `preferred_qualifications` are only available from this endpoint — search results don't carry them. - `employment_type` is only populated by this endpoint; search does not expose it. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "200674676-0836", "position_id": "200674676", "title": "Optical Software Engineer", "team": "Hardware", "employment_type": "Standard", "location": "Cupertino, California, United States", "locations": ["Cupertino, California, United States"], "country": "United States", "description": "The Optical Engineering team within Camera Core Technology Engineering is seeking a Simulation Development Engineer...", "responsibilities": "Development of Optical and Imaging simulation capabilities and applications to inform design decisions...", "minimum_qualifications": "Bachelor's degree in Optics, Imaging Science, Physics, EE, CS, ME, or relevant field of study...", "preferred_qualifications": "MS or PhD in Optical Sciences, Imaging Science, Physics, Electrical Engineering, Computer Science, or related field...", "posted_at": "2026-07-29T04:08:46Z", "url": "https://jobs.apple.com/en-us/details/200674676-0836/optical-software-engineer" } } ```
MCPツール apple_jobs_job
/apple-jobs/locationsDiscovery endpoint for apple-jobs-search's `location` parameter, whose accepted values are a closed set Apple itself defines (its own `<slug>-<CODE>` location ids -- free-text location names are rejected by the search backend). Apple exposes no bulk "list everything" API for this; its only source is its own location-filter typeahead, a fuzzy search capped at 10 results per call covering four granularities (country, state/province, metro area, city) with no empty-input listing mode. With no `q`, this returns the full country-level value space (206 values, live-verified) as a static list -- the granularity apple-jobs-search's own examples use and nearly every caller needs, with no live upstream call required. With `q` supplied, this instead live-proxies Apple's own typeahead so callers can discover state/metro/city-level values for finer filtering; results at those deeper levels may include more than one candidate and are ranked by Apple's own relevance, not alphabetically.
レスポンスに関する注記
- `scope` is `country` for the default (no-`q`) response, or `search` when `q` was supplied. - Each `locations[].location` value is exactly what `apple-jobs-search`'s `location` parameter expects. - `locations[].level` is one of `country`, `state`, `metro`, `city`, or `other` (an unrecognized upstream level, included rather than silently dropped). - Not every UN member state appears in the country list — Apple's own location taxonomy omits countries where it has no careers presence (e.g. Cuba, Iran, North Korea returned no match during live verification). The 206 values here are exactly what Apple's own reference data returns, not a general country-code list. - A `q` result's `location` slug is computed the same way Apple's own frontend computes it (lowercase, non-alphanumeric runs collapsed to a single hyphen, trimmed) and has been verified correct for every case checked, including multi-word/parenthetical country names and city-level results. A city/metro/state name containing non-ASCII characters is the one case this cannot guarantee byte-for-byte, since Apple's own JS may normalize diacritics differently — treat those specific results as best-effort. Example response (`q` omitted): ```json { "code": 200, "msg": "OK", "data": { "scope": "country", "count": 206, "locations": [ {"location": "singapore-SGP", "name": "Singapore", "code": "SGP", "level": "country"}, {"location": "united-states-USA", "name": "United States", "code": "USA", "level": "country"} ], "source_url": "https://jobs.apple.com/api/v1/refData/postlocation", "fetched_at": "2026-09-16T12:00:00Z" } } ``` Example response (`q=cupertino`): ```json { "code": 200, "msg": "OK", "data": { "query": "cupertino", "scope": "search", "count": 2, "locations": [ {"location": "cupertino-california-united-states-CUP", "name": "Cupertino, California, United States", "code": "CUP", "level": "city"}, {"location": "santa-clara-valley-cupertino-california-united-states-SCV", "name": "Santa Clara Valley (Cupertino), California, United States", "code": "SCV", "level": "city"} ], "source_url": "https://jobs.apple.com/api/v1/refData/postlocation?input=cupertino", "fetched_at": "2026-09-16T12:00:00Z" } } ```
MCPツール apple_jobs_locations
関連API
Business & Market Intelligence
Turn public GitHub ecosystem signals into structured data for developer-market research, open-source intelligence, recruiting, and AI-agent workflows.
Business & Market Intelligence
Collect public TrustMRR startup marketplace and leaderboard data as normalized JSON for startup research, SaaS discovery, and market intelligence workflows.
Business & Market Intelligence
Add website and competitive intelligence signals from SimilarWeb to research pipelines.
関連データセット
データセット · クエリ可能なJSON
Apple's open postings are also queryable in bulk alongside 18 other providers — filter by department, location, employment type, or remote flag over one REST call.
データセットを見る →Apple Jobsのスクレイピング方法
Crawlora's Apple Jobs endpoints search jobs.apple.com and return postings as normalized JSON, including Apple's team taxonomy and its minimum and preferred qualifications. Apple's board is large: engineer matched 5,310 postings on 2026-09-18. Location filtering uses Apple's own country slugs, such as united-states-USA, which /apple-jobs/locations lists (206 at country level).
/apple-jobs/search takes q, an optional location slug, and page, and returns 20 postings per page with total. Each row carries id and position_id, team, location, every location the role is open in, country, posted_at, and the posting URL.
/apple-jobs/locations with no query returns Apple's 206 country-level slugs (afghanistan-AFG through zimbabwe-ZWE). With q, it proxies Apple's own typeahead for state, metro, and city values.
/apple-jobs/job returns employment_type, description, responsibilities, minimum_qualifications, and preferred_qualifications as separate fields. That split is useful for skills analysis. One role can list several locations; a Technical Operations Engineer on Apple News was open in both Culver City and Cupertino.
team values are Apple's organizational buckets, such as Software and Services, Hardware, Operations and Supply Chain, Machine Learning and AI, and Corporate Functions. Counting postings per team over time is the clearest hiring signal.
FAQ
Apple posts one role as several ids, one per location variant, that share a position_id. Group on position_id to count distinct roles rather than listings.
Apple uses its own slug format, e.g. united-states-USA or singapore-SGP, rather than free-text city/country names. The locations endpoint returns the full 206-value country-level list with no query, or live-proxies Apple's own typeahead for state/metro/city-level values when you pass one — Apple itself exposes no bulk listing for those deeper levels.