Meta Jobs search
Search and enumerate Meta's open requisitions straight from metacareers.com as normalized JSON from the Crawlora API, no scraping the careers site by hand.
When to use this skill
- "Search Meta jobs for <team/technology> in ."
- "What is Meta currently hiring for in AI/AR-VR/Security?"
- "Track every new Meta requisition this week." — walk
/meta-jobs/listbylast_modifiedon a schedule. - "Look up this Meta job id" — pull the full posting detail.
Setup (one-time)
- Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
- Set
CRAWLORA_API_KEYin the environment before running the helper. - The helper reads
CRAWLORA_API_KEYfrom the environment and sends requests tohttps://api.crawlora.net/api/v1. Missing/invalid key →401.
How it works
- Full-catalog listing —
/meta-jobs/listpages through 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 vialast_modified. - Filtered search —
/meta-jobs/searchhits Meta's 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 AND together; an empty request returns Meta's entire open-requisition catalog in one response.qmatches team, technology, location, or ref/req-code — it is NOT a free-text search over job titles or descriptions. - Single-posting detail —
/meta-jobs/jobreturns one Meta Careers posting by its numeric job id (theidfield returned by search or list), parsed from metacareers.com's server-rendered job detail page.
Full endpoint list, methods, and params: reference/endpoints.md.
Calling the API
# Filtered search — AI team, remote-only, newest first:
scripts/crawlora.sh /meta-jobs/search teams="Artificial Intelligence" is_remote_only=true sort_by_new=true | jq '.'
# Full catalog, paged:
scripts/crawlora.sh /meta-jobs/list page=1 page_size=200 | jq '.'
# Single posting by id (id comes from search/list results):
scripts/crawlora.sh /meta-jobs/job id=1234567890123456 | jq '.'
Use scripts/crawlora.sh for all requests; it keeps the API key out of command-line arguments.
Endpoint reference
See reference/endpoints.md for all Meta Jobs endpoints this skill uses.
Examples
- "Is Meta ramping up hiring in AR/VR?" —
/meta-jobs/searchteams=AR/VRsort_by_new=true, review the resulting postings' dates and locations for a hiring-velocity read. - Weekly new-requisition diff: page
/meta-jobs/listbylast_modified, store the id set, and diff against last week's run to surface newly-opened roles.
Notes & limits
- Credits / pay-on-success: billed only on
2xx; free tier 2,000 credits/mo. Key at https://crawlora.net. - Public data only — public postings from metacareers.com; respect Meta's terms.
- Security: key lives in
CRAWLORA_API_KEYonly — never hardcode, query-param, or commit it. qis a facet-name match, not full-text search — it matches team, technology, location, or ref/req-code, not job titles or descriptions; useteamsfor a topical filter instead.teamsandrolesare closed enums — seereference/endpoints.mdfor the exact values (team names double as technology names in the same field); values outside the enum won't match.officesis a repeatable location-id filter in Meta's own id format (e.g.menlo-park,london), not a free-text city name, and not a closed enum — get valid ids from search results.- Results are paginated on
/meta-jobs/list(page,page_size, max 200) — walk it to enumerate the full catalog.
