SocialAPIs
Sources
PricingBlogFAQContact

Facebook Ad Checker

See the ads a Facebook Page is running right now, or search ads by keyword, in any country, from Meta's Ad Library. Then see the API call that returns the same data.

Loading…

How to see the ads a Facebook Page is running

  1. Choose Page and paste the advertiser's Facebook Page address, for example facebook.com/nike (the username alone works too). Or choose Keyword and type what the ads are about, for example running shoes.
  2. Pick a country, or All countries, and press Check.
  3. Read the result: each active ad with its advertiser, headline, text, call to action, the platforms it runs on, the date it started, a thumbnail and a link to the ad in Meta's Ads Library.

Page or keyword

A Page search lists one advertiser's active ads. A keyword search finds ads on a topic from every advertiser, the most-seen first. If a Page has no Ads Library ID, it isn't running ads we can see.

Facebook and Instagram

The Ads Library covers every Meta placement, so Instagram ads are included: each ad says whether it runs on Facebook, Instagram, Messenger or the Audience Network.

No spend figures

Meta publishes spend and reach only for political and social-issue ads and for ads shown in the EU. For other ads these numbers aren't public, so the checker doesn't show them.

Meta's Ad Library API vs this checker

Meta's official Ad Library API needs identity confirmation and a developer app, and it covers ads about social issues, elections or politics, plus ads shown in the EU. This checker, and the SocialAPIs API behind it, return what the public Ads Library website shows for any advertiser, with one API key. To get told when a competitor launches a new ad, read our guide to the Facebook Ads Library API (Python script and n8n workflow).

The API call behind this checker

Every check is a call to the SocialAPIs REST API: 1 credit per keyword search; 2 for a Page (one to find its ads ID, one to search). Use the same calls to watch competitors every day, feed a dashboard or a sheet, from any language or from n8n, Make and Zapier.

By keyword

GET /facebook/ads/search with activeStatus=Active · 1 credit per search · your key goes in the x-api-token header, never in the URL.

curl -G "https://api.socialapis.io/facebook/ads/search" \  -H "x-api-token: $SOCIALAPIS_API_KEY" \  --data-urlencode "query=running shoes" \  --data-urlencode "country=US" \  --data-urlencode "activeStatus=Active" \  --data-urlencode "sort_data=impressions"
import os import requests HEADERS = {"x-api-token": os.environ["SOCIALAPIS_API_KEY"]} response = requests.get(    "https://api.socialapis.io/facebook/ads/search",    headers=HEADERS,    params={        "query": "running shoes",        "country": "US",        "activeStatus": "Active",        "sort_data": "impressions",    },    timeout=100,)response.raise_for_status()groups = response.json()["data"]["ads"]ads = [group[0] for group in groups if group]  # one ad per group of near-identical copiesfor ad in ads:    print(ad["page_name"], f"https://www.facebook.com/ads/library/?id={ad['ad_archive_id']}")

Set SOCIALAPIS_API_KEY to your key first (export SOCIALAPIS_API_KEY=…). Next page of results: pass end_cursor from data.page_info.

By Page

GET /facebook/pages/details for the Page's ad_page_id, then GET /facebook/ads/search with activeStatus=Active · 2 credits (one to find its ads ID, one to search) · your key goes in the x-api-token header, never in the URL.

# Step 1: the Page's ad_page_idcurl -G "https://api.socialapis.io/facebook/pages/details" \  -H "x-api-token: $SOCIALAPIS_API_KEY" \  --data-urlencode "link=https://www.facebook.com/nike" # Step 2: its active adscurl -G "https://api.socialapis.io/facebook/ads/search" \  -H "x-api-token: $SOCIALAPIS_API_KEY" \  --data-urlencode "ad_page_id=$AD_PAGE_ID" \  --data-urlencode "country=ALL" \  --data-urlencode "activeStatus=Active"
import os import requests HEADERS = {"x-api-token": os.environ["SOCIALAPIS_API_KEY"]} page = requests.get(    "https://api.socialapis.io/facebook/pages/details",    headers=HEADERS,    params={"link": "https://www.facebook.com/nike"},    timeout=100,)page.raise_for_status()record = page.json().get("data", page.json())record = record[0] if isinstance(record, list) else record.get("0", record)ad_page_id = record.get("ad_page_id")  # None: the Page isn't running ads we can see response = requests.get(    "https://api.socialapis.io/facebook/ads/search",    headers=HEADERS,    params={        "ad_page_id": ad_page_id,        "country": "ALL",        "activeStatus": "Active",    },    timeout=100,)response.raise_for_status()groups = response.json()["data"]["ads"]ads = [group[0] for group in groups if group]  # one ad per group of near-identical copiesfor ad in ads:    print(ad["page_name"], f"https://www.facebook.com/ads/library/?id={ad['ad_archive_id']}")

Set SOCIALAPIS_API_KEY to your key first (export SOCIALAPIS_API_KEY=…). In curl, put the ad_page_id from step 1 in AD_PAGE_ID. Next page of results: pass end_cursor from data.page_info.

Frequently asked questions

What does the Facebook ad checker show?

The active ads in Meta's Ad Library for a Facebook Page or a keyword, in the country you pick: for each ad the advertiser, the headline, the ad text, the call to action, where it runs (Facebook, Instagram, Messenger, Audience Network), the date it started, a thumbnail and a link to the ad in the Ads Library. It also says how many ads it shows and whether more exist.

Should I search by Page or by keyword?

Search by Page to see what one advertiser is running: paste its Facebook Page URL or username (for example facebook.com/nike). Search by keyword to see who advertises on a topic (for example "running shoes"); keyword results are sorted by impressions, so the most-seen ads come first.

Which countries can I check?

Pick one country from the list, or All countries. Meta shows different ads in different countries, so a brand can run ads in Germany and none in the US. A Page search defaults to All countries, a keyword search to the United States.

Why doesn't it show how much a competitor spends?

Meta only publishes spend, impressions and reach for ads about social issues, elections or politics, and for ads shown in the EU. For ordinary commercial ads elsewhere these numbers aren't public, so no tool can give you a competitor's real budget.

Does it include Instagram ads?

Yes. The Ads Library covers every Meta placement, so each ad lists where it runs: Facebook, Instagram, Messenger, Audience Network. An ad that only runs on Instagram is still listed under the advertiser's Facebook Page.

Can I get told when a competitor launches a new ad?

Use the API: call GET /facebook/ads/search once a day with the advertiser's ad_page_id, keep the ad_archive_id values you've already seen, and alert on new ones. Our guide to the Facebook Ads Library API has a ready Python script and an n8n workflow.

Why not use Meta's official Ad Library API?

Meta's Ad Library API asks for identity confirmation and a developer app, and it only covers ads about social issues, elections or politics, plus ads shown in the EU. For commercial ads elsewhere it has no answer. The SocialAPIs API returns what the public Ads Library website shows, with one API key.

Is the ad checker free?

Without an account you get a few free checks a day to try it. Signed in, each check runs on your own account: 1 credit for a keyword search, 2 for a Page (one call to find its ads ID, one to search). The free plan includes 200 calls a month, no credit card; paid plans start at $4.99 a month.

Get your API key

Free plan: 200 calls a month, no credit card. Paid plans from $4.99 a month. Facebook and Instagram data, one x-api-token header.

Sign up free
SocialAPIs

Public Facebook & Instagram data API, built for developers and AI agents.

Now in MCP Registry

Product

  • Get Started
  • API Reference
  • Pricing
  • Documentation
  • Blog
  • Compare vs others
  • Integrations
  • Social Search
  • Social Tracker

Free Tools

  • Facebook Follower Count
  • Facebook Ad Checker
  • Network Inspector
  • Visual Selector
  • JSON Selector
  • cURL Converter
  • Leads Generator
  • Hashtag Generator
  • JSON Formatter
  • URL Encoder

Libraries & SDKs

  • Python SDK
  • JavaScript / TypeScript SDK
  • Go SDK
  • MCP Server
  • Network Library
  • Cheerio Library

Resources

  • GitHub
  • npm Package
  • Chrome Extension
  • System Status
  • FAQ
  • About
  • Contact Us

Legal

  • Privacy Policy
  • Terms of Service

© 2026 SocialAPIs. All rights reserved.