Meta hiring-trend tracking
Use Meta Jobs endpoints to turn meta hiring-trend tracking into repeatable API requests with documented inputs and JSON responses.
Search Meta's own careers site (metacareers.com) — by team, employment type, or office — list its full open-requisition catalog in one call, or get a single posting by id, as structured JSON.
Search Meta's own careers site (metacareers.com) by team, role, or office, list the full catalog, or get one posting by id, as structured JSON.
Endpoint families
3
Documented params
13
Examples
3
Live catalog snapshot
Active endpoints
3
Methods
GET
Required params
4
Schema refs
3
{
"platform": "Meta Jobs",
"endpoint": "meta-jobs-search",
"method": "GET",
"path": "/meta-jobs/search",
"auth": "apiKey"
}Use cases
Search Meta's own careers site (metacareers.com) by team, role, or office, list the full catalog, or get one posting by id, as structured JSON.
Use Meta Jobs endpoints to turn meta hiring-trend tracking into repeatable API requests with documented inputs and JSON responses.
Use Meta Jobs endpoints to turn job posting aggregation and monitoring into repeatable API requests with documented inputs and JSON responses.
Use Meta Jobs endpoints to turn recruiting and talent-market research into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Meta Jobs endpoint catalog — 3 endpoints, 13 documented request parameters, and 3 published response schemas — the same catalog Docs and Playground run against.
3 documented Meta Jobs endpoints, grouped into 3 request families — Job, List and Search.
13 request parameters are documented across those Meta Jobs endpoints, 4 of them required — the full input contract is public before you write any integration code.
3 of the 3 Meta Jobs endpoints ship a recorded example response, and 3 carry a documented response schema — you can code against the real JSON before the first request.
Meta Jobs endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
3 hosted MCP tools back the Meta Jobs endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/meta-jobs/job
/meta-jobs/list
/meta-jobs/search
Endpoint catalog
/meta-jobs/searchSearches Meta's public careers site (metacareers.com) via its own anonymous jobsearch GraphQL endpoint, with the same team/technology/location/employment-type/keyword/remote/sort filters the live search page offers. All filters are optional and combine with AND semantics; an empty request returns Meta's entire open-requisition catalog in one response. `q` matches team, technology, location, or ref/req-code names -- it is NOT a free-text search over job titles or descriptions. `teams` enum (org teams + technologies, both use the same field): `Advertising Technology`, `AR/VR`, `Artificial Intelligence`, `Business Development & Partnerships`, `Communications & Public Policy`, `Creative`, `Data & Analytics`, `Data Center`, `Design & User Experience`, `Enterprise Engineering`, `Global Operations`, `Infrastructure`, `Internship - Business`, `Internship - Engineering, Tech & Design`, `Internship - PhD`, `Legal, Finance, Facilities & Admin`, `People & Recruiting`, `Product Management`, `Research`, `Sales & Marketing`, `Security`, `Software Engineering`, `Technical Program Management`, `University Grad - Business`, `University Grad - Engineering, Tech & Design`, `University Grad - PhD & Postdoc`, `Facebook`, `Messenger`, `Instagram`, `WhatsApp`, `Meta Quest`. `roles` enum: `Full time employment`, `Internship`, `Short term employment`. `results_per_page` enum: `all`, `five`, `ten`.
Response notes
- A valid filter combination with no matches returns `total: 0` and an empty `jobs` array (not an error). - Meta's unfiltered catalog is roughly 750 open roles; even an unfiltered search returns everything in one response. There is no page/offset parameter beyond `results_per_page`, because Meta's own search page does not expose one past that cap. - An invalid `teams`, `roles`, or `results_per_page` value returns a `400` invalid-params error rather than being silently dropped or passed through to the upstream. - `jobs[].teams` and `jobs[].sub_teams` are Meta's own tags on the posting and may include values beyond what you filtered on (a posting can carry multiple teams). Example response: ```json { "code": 200, "msg": "OK", "data": { "total": 58, "jobs": [ { "id": "1069625435495910", "title": "Product Designer, Meta Superintelligence Labs", "locations": ["Menlo Park, CA"], "teams": ["Artificial Intelligence", "Design & User Experience"], "sub_teams": ["Design", "Artificial Intelligence"], "url": "https://www.metacareers.com/profile/job_details/1069625435495910/" } ], "source_url": "https://www.metacareers.com/jobsearch/" } } ```
MCP tool meta_jobs_search
/meta-jobs/listReturns a page of Meta's own public job sitemap -- every open requisition's id, canonical URL, and last-modified timestamp, with no team/location/keyword filtering. Use this for full-catalog enumeration or change tracking via last_modified; use search when you need to filter by team, technology, location, employment type, or keyword.
Response notes
- A page beyond `total` returns an empty `listings` array (not an error). - `listings[].last_modified` reflects Meta's own sitemap timestamp and is the only signal this endpoint gives for change detection — it carries no title/team/location metadata. Call [job](meta-jobs-job.md) for the full posting. Example response: ```json { "code": 200, "msg": "OK", "data": { "page": 1, "page_size": 50, "total": 754, "listings": [ { "id": "1238249364564427", "url": "https://www.metacareers.com/profile/job_details/1238249364564427/", "last_modified": "2026-07-29T01:17:34-07:00" } ], "source_url": "https://www.metacareers.com/jobsearch/sitemap.xml" } } ```
MCP tool meta_jobs_list
/meta-jobs/jobReturns one Meta Careers posting by its numeric job id (the `id` field returned by search or list). Parsed from metacareers.com's server-rendered job detail page.
Response notes
- A nonexistent or removed job id returns a `404` (Meta's own job detail page structurally signals this — it is not inferred from an HTTP status alone). - `description` is cleaned plain text; Meta serves it as HTML internally. - `compensation_min`/`compensation_max`/`compensation_country` are only present for postings that carry Meta's public pay-range disclosure (not every posting does). Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "1238249364564427", "title": "Product Manager", "locations": ["Menlo Park, CA"], "departments": ["Product Management"], "description": "Build products used by billions of people...", "responsibilities": ["Define product strategy", "Partner with engineering"], "minimum_qualifications": ["5+ years of product management experience"], "preferred_qualifications": ["MBA or equivalent experience"], "compensation_min": "$173,000/year", "compensation_max": "$241,000/year", "compensation_country": "US", "url": "https://www.metacareers.com/profile/job_details/1238249364564427/" } } ```
MCP tool meta_jobs_job
Related APIs
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.
Related dataset
Dataset · queryable JSON
Meta'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.
Explore the dataset →How to scrape Meta Jobs
metacareers.com's own search facets aren't a title/description search — they match team, technology, location, or req code. Crawlora's Meta Jobs endpoints normalize postings directly, including a full-catalog listing call for metacareers.com's entire open-requisition set.
Filter by repeatable team/technology, employment-type, and office facets (OR'd), remote-only, and sort — or skip filters and call the catalog-listing endpoint for every open role at once.
Pass the facets to Crawlora's Meta Jobs search endpoint, or page through the catalog-listing endpoint.
Receive normalized postings — title, team, location, apply URL — in one JSON shape, or fetch one posting in full by its Meta job id.
Monitor a team or office over time for hiring-trend signals, or aggregate alongside the Jobs dataset for talent-market research.
FAQ
Send team/technology, employment-type, or office facets to Crawlora's Meta Jobs search endpoint — or call the catalog-listing endpoint for metacareers.com's entire open-requisition set in one call — and get normalized postings without reverse-engineering Meta's own facet format. Collect only public data and respect Meta's terms.
No — the q parameter is a facet-name keyword matching team, technology, location, or ref/req code, not a free-text title/description search. Use the catalog-listing endpoint if you want every open role regardless of keyword.
Yes — pass the Meta job id to the single-posting endpoint for the full listing.