nvNeuralVerge
Social media

Facebook Pages API and MCP — Page Profile, Followers & Contacts

Send a Facebook page URL, name or ID and this source returns the page's public profile as data: name, categories, intro, followers and following, recommendation rating, email, phone, address, websites, linked Instagram, price range, services, opening hours, creation date and whether the page is running ads.

You send
A Facebook page URL, page name or page ID
You get back
The page profile with categories, audience, rating, contacts and ad status
Coverage
Public Facebook pages, worldwide.
Price
15 points per returned page — $15 per 1,000
Billed per page actually returned. A page that cannot be found or is not public costs nothing.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
Opening pages by handVisit each page, copy the About section into a sheetFree, and slow past a handfulFine for one page, not for a list of hundreds
Meta's Graph APICreate an app, request permissions, pass app reviewFree, gated by reviewBuilt for pages you manage; reading arbitrary public pages is tightly restricted
NeuralVergeOne request per page$15 per 1,000, misses not billedReturns what the page owner publishes — fields they left empty come back null
Response

What you get back

Every field in the example response below.

FieldTypeDescription
partialbooleanTrue if the lookup hit its time budget and stopped early.
total_itemsnumberHow many pages came back.
items[].idstringFacebook's numeric page ID.
items[].namestringPage name as displayed.
items[].usernamestringThe page's vanity name, when it has one.
items[].categorystringPrimary page category, e.g. Government organization or Pizza place.
items[].introstringThe page's intro text.
items[].followersnumberFollower count at read time.
items[].followingsnumberHow many accounts the page follows.
items[].rating_overallnumber | nullShare of reviewers who recommend the page, as a percentage.
items[].rating_countnumber | nullHow many recommendations the rating is based on.
items[].emailstring | nullPublic contact email.
items[].phonestring | nullPublic contact phone number.
items[].addressstring | nullPublic street address.
items[].websitesarrayWebsites and other links listed on the page.
items[].instagramarrayLinked Instagram accounts.
items[].price_rangestring | nullPrice range the business lists, e.g. $$.
items[].servicesstring | nullServices the business lists.
items[].business_hoursstring | nullOpening-hours status at read time.
items[].creation_datestringWhen the page was created.
items[].ad_statusstringWhether the page is currently running ads.
items[].ad_library_idstringThe page's ID in the public ad library.
items[].latest_postsarrayRecent posts, when the page shows them.
Response

Example response

A real response, as returned.

{
  "session_id": "4d639b38-62cf-414d-a89b-74314dbe328d",
  "kind": "facebook_pages",
  "url": "https://www.facebook.com/NASA/",
  "partial": false,
  "machine": {
    "total_items": 1,
    "items": [
      {
        "id": "100044561550831",
        "name": "NASA - National Aeronautics and Space Administration",
        "username": "NASA",
        "url": "https://www.facebook.com/NASA/",
        "category": "Government organization",
        "categories": ["Page", "Government organization"],
        "intro": "Explore the universe and discover our home planet. There's space for everybody. ✨",
        "followers": 28741734,
        "followings": 52,
        "rating": null,
        "rating_overall": null,
        "rating_count": null,
        "email": "public-inquiries@hq.nasa.gov",
        "phone": null,
        "address": null,
        "websites": [
          "https://www.nasa.gov/nasa-app/",
          "https://www.nasa.gov/"
        ],
        "instagram": [],
        "price_range": null,
        "services": null,
        "business_hours": null,
        "creation_date": "March 4, 2009",
        "is_verified": false,
        "ad_status": "This Page isn't currently running ads.",
        "ad_library_id": "54971236771",
        "latest_posts": [],
        "source_url": "https://www.facebook.com/NASA/"
      }
    ],
    "errors": []
  },
  "total_points": 15
}
Integration

How to run it

The same lookup works from the app, the API, or as a tool an agent can call mid-task.

This endpoint is synchronous: the call blocks until the lookup completes and returns the records directly. If a lookup hits its time budget before finishing, the response comes back with partial: true and whatever it collected so far — re-run with a smaller max_items for a complete result. url is required and accepts a page URL, a page name or a numeric page ID.

curl -X POST https://api.neuralverge.ai/functions/v1/run-facebook-pages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://www.facebook.com/NASA/" }'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Local business enrichment

Fill in phone, address, hours and price range for businesses whose website says little.

Lead qualification

Use followers, page age and ad status to tell an active business from a dormant one.

Advertiser detection

Find which pages are running ads right now — a sign of marketing budget.

Cross-channel linking

Connect a business to its website and Instagram account in one lookup.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

Public Facebook pages, worldwide.

Freshness

Read at request time.

Handling

This source returns what a business or organisation publishes on its own public page, stamped with the URL it was read from and a session id you can trace.

What it will not do
  • —Fields the owner never filled in come back null — large organisations often list no phone or address.
  • —Personal profiles are not pages; this source is for business, brand and organisation pages.
  • —Follower counts are what Facebook displays, which can be rounded for very large pages.
FAQ

Questions, answered

Yes — every Data Source endpoint, including this one, is synchronous: the lookup runs inside the request and the result comes back in the same response, no polling. If a lookup hits its time budget before finishing, the response comes back with partial: true and whatever records it collected so far — re-run with a smaller max_items to get a complete result instead of a partial one.

Related

Related sources

Try facebook pages on your own data

One request format across every source in the catalog.

Get started