Facebook API

Facebook Search pages API

Search Facebook Pages by keyword, optionally narrowed to a location, and get structured page profiles (name, category, followers, contact details).

$11.18/1k results, pay per request, no subscription.

What the API returneditems[0]
{
"id": "108827441652390",
"title": "Kreuzberg Coffee Roasters",
"url": "https://www.facebook.com/kreuzbergcoffeeroasters",
"category": "Coffee Shop",
"followers": 18400,
"likes": 17900,
"phone": "+49 30 5550 1873",
"website": "https://kreuzbergroasters.de",
... 9 more fields
}
Uptime
87.15%
30d · 428 calls
Requests
428
30d · weekly, last 12 wks
Response
34.1s
median · 30d

Call it

Get Facebook search pages in one request

import os, requests

res = requests.post(
    "https://api.getanyapi.com/v1/run/facebook.search_pages",
    headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"},
    json={
        "query": ""
    },
)
print(res.json())
Open in
Get a free key
Sample response

This sample shows 19 of 21 fields. See every field

{
  "found": true,
  "data": {
    "items": [
      {
        "id": "108827441652390",
        "title": "Kreuzberg Coffee Roasters",
        "url": "https://www.facebook.com/kreuzbergcoffeeroasters",
        "category": "Coffee Shop",
        "followers": 18400,
        "likes": 17900,
        "phone": "+49 30 5550 1873",
        "website": "https://kreuzbergroasters.de",
        "image": "https://scontent.xx.fbcdn.net/v/t39.30808-1/kreuzberg_avatar.jpg",
        "pageAlias": "kreuzbergcoffeeroasters",
        "about": "Small-batch coffee roasted daily in Kreuzberg since 2014. Wholesale and cafe pickup.",
        "coverPhotoUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-1/kreuzberg_cover.jpg",
        "createdUtc": 1391212800,
        "adStatus": "This Page is not currently running ads.",
        "owner": "",
        "categories": [
          "Coffee Shop",
          "Coffee Roastery"
        ]
      },
      {
        "id": "241093887761204",
        "title": "Nordlicht Rostkaffee",
        "url": "https://www.facebook.com/nordlichtrostkaffee",
        "category": "Coffee Roastery",
        "followers": 6250,
        "likes": 6010,
        "phone": "+49 30 5550 2946",
        "website": "https://nordlicht-kaffee.de",
        "image": "https://scontent.xx.fbcdn.net/v/t39.30808-1/nordlicht_avatar.jpg",
        "pageAlias": "nordlichtrostkaffee",
        "about": "Direct-trade single-origin roaster based in Prenzlauer Berg.",
        "coverPhotoUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-1/nordlicht_cover.jpg",
        "createdUtc": 1476403200,
        "adStatus": "This Page is currently running ads.",
        "owner": "",
        "categories": [
          "Coffee Roastery"
        ]
      },
      {
        "id": "365710428839112",
        "title": "Spandau Bean Co.",
        "url": "https://www.facebook.com/spandaubeanco",
        "category": "Coffee Shop",
        "followers": 2870,
        "likes": 2790,
        "phone": "",
        "website": "https://spandaubean.co",
        "image": "https://scontent.xx.fbcdn.net/v/t39.30808-1/spandau_avatar.jpg",
        "pageAlias": "spandaubeanco",
        "about": "Neighborhood roastery and cafe on Wilhelmstrasse.",
        "coverPhotoUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-1/spandau_cover.jpg",
        "createdUtc": 1552608000,
        "adStatus": "This Page is not currently running ads.",
        "owner": "",
        "categories": [
          "Coffee Shop"
        ]
      }
    ]
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-10-31 · uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • querystring

    coffee roasters

    Keyword to search Facebook Pages for (e.g. 'coffee roasters').

  • limitinteger

    3

    Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less.

  • locationstring

    Berlin

    Optional free-text location to narrow the search: a city, province, or country (e.g. 'Berlin').

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

each itemdata.items[]

Matching Facebook Page records for the query. Populated whenever the provider has data for the entity.

  • aboutstring

    Small-batch coffee roasted daily in Kreuzberg since 2014. Wholesale and cafe pickup.

    The page's intro text.

  • adLibraryPageIdstring

    The page's Facebook Ad Library id, the `pageId` facebook.company_ads takes. It differs from `id`. Absent when Facebook shows none.

  • adStatusstring

    This Page is not currently running ads.

    Facebook Ad Library status sentence for the page, e.g. whether it is currently running ads.

  • categoriesstring[]

    Categories Facebook lists the page under.

  • categorystring

    Coffee Shop

    The page's primary category (e.g. "Sportswear Store"). Empty when the upstream omits it.

  • coverPhotoUrlstring

    https://scontent.xx.fbcdn.net/v/t39.30808-1/kreuzberg_cover.jpg

    Cover photo image URL of the page.

  • createdUtcnumber

    1391212800

    UTC epoch timestamp in seconds (Unix time) the page was created. Multiply by 1000 for a JS Date in milliseconds.

  • followersinteger

    18400

    The page's follower count.

  • idstring

    108827441652390

    The page's numeric Facebook ID, as a string. Populated whenever the provider has data for the entity.

  • imagestring

    https://scontent.xx.fbcdn.net/v/t39.30808-1/kreuzberg_avatar.jpg

    URL of the page's profile picture, a signed CDN URL whose query must be kept. Empty when the upstream omits it.

  • likesinteger

    17900

    The page's like count.

  • ownerstring

    Confirmed owner of the page, when Facebook publishes one.

  • pageAliasstring

    kreuzbergcoffeeroasters

    The page's vanity URL alias, e.g. "nikesportswear".

  • phonestring

    +49 30 5550 1873

    The page's public phone number. Empty when the upstream omits it.

  • titlestring

    Kreuzberg Coffee Roasters

    The page's public name. Populated whenever the provider has data for the entity.

  • urlstring

    https://www.facebook.com/kreuzbergcoffeeroasters

    Canonical URL of the Facebook Page, with tracking query params stripped. Populated whenever the provider has data for the entity.

  • websitestring

    https://kreuzbergroasters.de

    The page's public website URL. Empty when the upstream omits it.

top level
  • foundboolean

    true

    Whether any matching pages were returned for the query.

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the Facebook Search pages API

The AnyAPI Facebook Search pages API returns Facebook search pages data as normalized JSON from one POST call to /v1/run/facebook.search_pages. Search Facebook Pages by keyword, optionally narrowed to a location, and get structured page profiles (name, category, followers, contact details). AnyAPI returns one normalized schema whichever source serves it. It costs $11.18 per 1,000 results, and never more than $0.123 for a single request, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 87.1% of Facebook search pages calls through AnyAPI succeeded, with a median response time of 34.1 seconds across 428 measured calls.

It costs $11.18 per 1,000 results, and never more than $0.123 for a single request, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

Search Facebook Pages by keyword, optionally narrowed to a location, and get structured page profiles (name, category, followers, contact details). The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 87.1% of Facebook search pages calls through AnyAPI succeeded, with a median response time of 34.1 seconds across 428 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required.

Send a POST request to https://api.getanyapi.com/v1/run/facebook.search_pages with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.