Meta Jobs API endpoint
Searches Meta's public careers site (metacareers.com) 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`.
/meta-jobs/searchQuery parameters:
q: facet-name keyword. Matches team, technology, location, or ref/req-code names — not a free-text search over job titles or descriptions (this mirrors the live search box's own placeholder text: "Search by technology, team, location, or ref. code"). A skill or programming-language keyword will only match if it also happens to be a team/technology/location name.teams: repeatable exact filter (OR across values), e.g. teams=Software+Engineering&teams=Instagram. Org teams and "Technologies" (product surfaces) share the same underlying field. Allowed values:
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: repeatable exact employment-type filter (OR across values). Allowed values: Full time employment, Internship, Short term employment.offices: repeatable location-id filter (OR across values) in Meta's own id format, e.g. menlo-park, london. Not validated against a closed enum — Meta's location list runs into the hundreds and drifts too often to hardcode.is_remote_only: restrict to remote-only postings.sort_by_new: sort newest-first instead of Meta's default relevance ordering.results_per_page: response size cap. Allowed values: all (default — returns every match in one response), five, ten. These are the only three accepted values.Notable response behavior:
total: 0 and an empty jobs array (not an error).results_per_page, because Meta's own search page does not expose one past that cap.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).| Field | Filled in, of 359 checked | Values in the sample |
|---|---|---|
| id | 359 | |
| title | 359 | “Embedded Software Engineer, Firmware” and 283 other values |
| locations | 356 | median 1 entry |
| teams | 359 | median 1 entry |
| sub_teams | 359 | median 1 entry |
| url | 359 | metacareers.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | No | Facet-name keyword: matches team, technology, location, or ref/req-code -- not a title/description search | ||
| teams | array<string> | No | Repeatable team-or-technology filter (OR); see teams enum above | Software Engineering | |
| roles | array<string> | No | Repeatable employment-type filter (OR); see roles enum above | Full time employment | |
| offices | array<string> | No | Repeatable location-id filter (OR) in Meta's own id format, e.g. menlo-park, london -- not a closed enum | menlo-park | |
| is_remote_only | boolean | No | Restrict to remote-only postings | ||
| sort_by_new | boolean | No | Sort newest-first instead of relevance | ||
| results_per_page | string | No | Response size cap: all, five, ten Allowed values: all, five, ten. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/meta-jobs/search?q=coffee&is_remote_only=true&sort_by_new=true&results_per_page=all" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"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/"
}
}Request schema
No body schema
Response schema
#/definitions/metajobs.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | metajobs.SearchResponse | No | ||||
| data.jobs | array | No | ||||
| data.jobs[].id | string | No | 1010234865172301 | |||
| data.jobs[].locations | array | No | Sunnyvale, CA | |||
| data.jobs[].sub_teams | array | No | Hardware | |||
| data.jobs[].teams | array | No | Infrastructure | |||
| data.jobs[].title | string | No | ASIC Engineer, Design | |||
| data.jobs[].url | string | No | https://www.metacareers.com/profile/job_details/1010234865172301/ | |||
| data.source_url | string | No | ||||
| data.total | integer | No | 58 | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/meta-jobs/search?q=coffee&is_remote_only=true&sort_by_new=true&results_per_page=all" \
-H "x-api-key: $CRAWLORA_API_KEY"