Local business enrichment
Use Facebook endpoints to turn local business enrichment into repeatable API requests with documented inputs and JSON responses.
Look up a public Facebook Page by page ID, vanity name, or full URL and get name, followers, category, hours, and public contact details. Or search Facebook Marketplace by location with category, price range, sort order, listing age, and condition filters, and get listing title, price, and approximate location as structured JSON — no login required.
Look up a public Facebook Page, or search Facebook Marketplace listings by location, category, price, and condition, and get structured JSON.
Endpoint families
2
Documented params
11
Examples
2
Live catalog snapshot
Active endpoints
2
Methods
GET
Required params
4
Schema refs
2
{
"platform": "Facebook",
"endpoint": "facebook-page",
"method": "GET",
"path": "/facebook/{page}",
"auth": "apiKey"
}Use cases
Look up a public Facebook Page, or search Facebook Marketplace listings by location, category, price, and condition, and get structured JSON.
Use Facebook endpoints to turn local business enrichment into repeatable API requests with documented inputs and JSON responses.
Use Facebook endpoints to turn company firmographic research into repeatable API requests with documented inputs and JSON responses.
Use Facebook endpoints to turn contact discovery into repeatable API requests with documented inputs and JSON responses.
Use Facebook endpoints to turn marketplace listing and price monitoring into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Facebook endpoint catalog — 2 endpoints, 11 documented request parameters, and 2 published response schemas — the same catalog Docs and Playground run against.
2 documented Facebook endpoints, grouped into 2 request families — Marketplace and Page.
11 request parameters are documented across those Facebook endpoints, 4 of them required — the full input contract is public before you write any integration code.
2 of the 2 Facebook endpoints ship a recorded example response, and 2 carry a documented response schema — you can code against the real JSON before the first request.
Facebook endpoints document their error responses (400, 404 and 500) 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.
2 hosted MCP tools back the Facebook 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.
/facebook/marketplace/search
/facebook/{page}
Endpoint catalog
/facebook/{page}Fetches public data about a Facebook Page given its page ID, vanity name, or full page URL: name, follower/like counts, intro, category, business hours/price range, review count, and any public contact details (email, phone, address, website, WhatsApp number) exposed on the Page's About tab.
Response notes
`category`, `hours`, `priceRange`, `whatsapp`) are populated when the Page publishes them on its About tab; they are omitted when a Page doesn't expose them. `emails`/`phones` are extracted independently and may contain more than one value; `email` is the first extracted address, kept for backward compatibility. `pageId` is Facebook's stable numeric identifier, which never changes even if the Page renames its vanity handle. Example response: ```json { "code": 200, "msg": "OK", "data": { "title": "Woodland Windows", "og": { "title": "Woodland Windows", "description": "Woodland Windows, Lisburn. 101 likes. Professional window cleaning service based in Lisburn.", "image": "https://scontent.fna.fbcdn.net/v/t39.30808-1/..." }, "stats": { "likes": 101, "followers": 0 }, "intro": "Professional window cleaning service based in Lisburn.", "email": "[email protected]", "address": "24 Woodland Avenue, Lisburn, United Kingdom, BT27 4PJ", "category": "Home window service", "reviewCount": 3, "emails": ["[email protected]"], "phones": ["+44 7926 075025"], "sourceUrl": "https://www.facebook.com/woodlandwindows1/about", "pageId": "100063628597424", "hours": "Opening soon", "priceRange": "Price range · £" } } ```
MCP tool facebook_page
/facebook/marketplace/searchFetches Facebook Marketplace search or browse results for a location: listing id, title, price, city/state, and a thumbnail image per result. Only the first page Facebook's own server-rendered results page returns is available — Facebook's own further pagination requires a logged-in session and is out of scope. Omit both query and category to get the location's browse feed instead of running a search. minPrice, maxPrice, sortBy, daysSinceListed, and condition only take effect alongside a query or category (Facebook itself ignores them on the plain browse feed), except for the property_rentals category, which has its own always-filtered listing page. This endpoint can take noticeably longer than other search endpoints (up to roughly a minute in the slowest case) as it retries to get past an intermittent upstream condition; priced accordingly.
Response notes
page returns is available — `hasMore` reflects Facebook's own `has_next_page` marker but is informational only; there is no working cursor parameter on this endpoint, since deeper pagination requires a logged-in GraphQL session out of scope for this credential-free transport. A location slug Facebook doesn't recognize returns `404` rather than silently falling back to unfiltered/wrong-location results. A recognized location with no matching results returns `200` with an empty `listings` array. Latency: this endpoint can take noticeably longer than other search endpoints — up to roughly a minute in the slowest case — because it retries the fetch across multiple attempts before giving up, to get past an intermittent condition on some outbound requests that otherwise looks identical to a genuine empty result. Most calls finish much faster once a working attempt lands. This is reflected in the endpoint's request cost. Example response: ```json { "code": 200, "msg": "OK", "data": { "location": "austin", "query": "bike", "category": "vehicles", "listings": [ { "id": "1548909030206114", "title": "Electric bike", "price": { "formatted": "$350", "amount": "350.00", "isFree": false }, "city": "Austin", "state": "TX", "image": "https://scontent.fsgn12-1.fna.fbcdn.net/v/t39.84726-6/763156366_1318061980540811_5053765390157515593_n.jpg", "url": "https://www.facebook.com/marketplace/item/1548909030206114/" } ], "hasMore": true, "sourceUrl": "https://www.facebook.com/marketplace/austin/search/?query=bike" } } ```
MCP tool facebook_marketplace_search
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.
How to scrape Facebook
A Facebook Page's About tab carries firmographic and contact data most businesses don't publish anywhere else, and Facebook Marketplace carries local listing and price data — but both are rendered client-side and gated behind Facebook's own markup. Crawlora's Facebook endpoints return them as structured JSON, no login, no brittle DOM scraping.
A Page ID, vanity name, or full facebook.com Page URL identifies a Page and is passed as the page path segment. A Marketplace search is anchored on a location vanity slug such as austin, which is required, with an optional free-text query on top.
Pass the Page reference to /facebook/{page}, or the location and filters to /facebook/marketplace/search. Those two are the whole surface — there is no Groups endpoint and no per-listing Marketplace detail endpoint.
category accepts vehicles, property_rentals, classifieds, apparel, electronics, entertainment or family; sort_by accepts best_match, distance_ascend, creation_time_descend, price_ascend or price_descend; days_since_listed accepts 1, 7 or 30; and condition accepts new, used_like_new, used_good or used_fair, alongside min_price and max_price.
Pages return name, follower and like counts, intro, category, hours or price range, review count, and public contact details. Marketplace returns listing id, title, price, city/state and a thumbnail per result.
Pair Page results with the Contact API for additional public emails, or re-run a Marketplace search on a schedule to track price or listing changes for a category and location.
FAQ
Send a Page ID, vanity name, or full Page URL to Crawlora's Facebook Pages endpoint and get structured JSON — name, followers, category, hours, and public contact details — without logging in or parsing rendered HTML. Collect only public data and respect Facebook's terms.
Any public contact info the Page exposes on its About tab — email, phone, address, website, and WhatsApp number — when present. Coverage varies by Page since not every business publishes every field.
No. Crawlora targets public Facebook Pages and public Marketplace search results — not private profiles, groups, or authentication-gated content. There is no Groups endpoint at all: the Facebook coverage is exactly two endpoints, /facebook/{page} and /facebook/marketplace/search.
Not as a separate call. Marketplace coverage is the search endpoint only, which returns listing id, title, price, city/state and thumbnail per result — there is no per-listing detail endpoint to follow up with.
No. Facebook's own public listing data does not include seller identity, so Crawlora's Marketplace endpoints have no seller field — only listing details such as title, price, description, condition, and approximate (city/state) location.
Yes. Pass a category such as vehicles, electronics, apparel, or property_rentals, along with optional price range, sort order, listing age, and condition filters.
Not a self-serve one for Page content. Meta's Graph API gates even public Page data behind its Page Public Content Access and Page Public Metadata Access features, both of which require passing Meta's App Review process first — there is no keyless or instant-approval path to pull a Page's public data through the official API.