# Pull a brand's Facebook and Instagram ads without running a scraper

A homemade Ad Library scraper breaks when the page changes and gets blocked when it runs too often. ads.search does the same job as one call: name the advertiser, and it returns the ads as records with headline, body text and start date. Providers handle the browser and the proxies, and fall back if one fails.

HTML page: https://www.routergrowth.com/tools/ad-library/facebook-ads-library-scraper
Part of: [Ad libraries tools](https://www.routergrowth.com/tools/ad-library.md)

## The call

[`ads.search`](https://www.routergrowth.com/catalog/ads.search): Public ad creatives from the Meta Ad Library (advertiser or keyword) or the Google Ads Transparency Center (advertiser domain).

Price on this network: $0.00875 per search, $0.002 minimum a call. The exact quote is shown before every run.

## What a real run returned

Run on 2026-10-19: 5 records in 26.0 s for $0.04375. Personal fields are masked. Five ads for a bedding brand: the rows show two of its running messages, a social proof line and a softness claim, started weeks apart.

| advertiser | headline | text | started |
|---|---|---|---|
| Brooklinen | IYKYK: Brooklinen = BEST. SHEETS. EVER. | When you spot a Brooklinen tote in the wild, you know that person has the best in bed. Shop our Classic Percale and Luxe Sheets and you’ll… | 2026-09-10 |
| Brooklinen | When Was the Last Time You Changed Your Sheets? | When we call Luxe our softest sheets yet, it’s not just us saying it. It’s everyone. Silky-smooth, buttery soft, and hotel-quality without… | 2026-08-28 |

## How to do it

1. **Connect RouterGrowth once.** Add the MCP server to Claude, ChatGPT, Claude Code, Codex or Cursor, or call the REST API with your RouterGrowth key.
2. **Name the advertiser.** Give the brand name as it appears on its Facebook page.
3. **Get the ads as records.** ads.search returns headline, text and start date per ad. Duplicates of the same creative can appear when it runs in several versions.
4. **Turn it into research.** Ask the agent to dedupe, list the claims and offers, and note which ads have run longest.

## Ask it like this

- Scrape Brooklinen's ads from the Facebook ads library and list each distinct message with when it started. (`ads.search`)
- Pull the Meta ads of our three main competitors and compare their offers in a table. (`ads.search`)
- Get this brand's Facebook ads, then check which keywords it ranks for in Google search for the same products. (`ads.search`, `seo.serp`)

## Connect

MCP server: `https://api.routergrowth.com/mcp`

```bash
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
```

```bash
npm install -g routergrowth && routergrowth setup
routergrowth run -c ads.search -i '{"query": "Brooklinen", "platform": "meta", "limit": 5}'
```

```bash
curl -X POST https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{"capability": "ads.search", "input": {"query": "Brooklinen", "platform": "meta", "limit": 5}}'
```

## Worth knowing

- **Nothing to keep running.** There is no browser, proxy pool or selector file on your side. If a provider fails, the router tries the next.
- **Template headlines show up.** Catalog ads may carry a placeholder headline such as {{product.name}}, as in the raw output. That is how the library stores them.
- **Paid per search.** Each search is one charge, and an empty result is not billed.

## Questions

### Will I get blocked?

No blocking reaches you: the providers handle access to the library.

### Can it scrape every ad a brand ever ran?

It returns the ads the library shows for the query, up to your limit, with start dates.

### Is the output JSON or CSV?

Records come back as JSON to your agent, which can write a CSV or a sheet from them.

### Can it scrape Google ads too?

Yes, ads.search also reads the Google Ads Transparency Center when you pass platform google and an advertiser domain.

## Related

- [Search the Meta Ad Library for a keyword and read every ad that comes back](https://www.routergrowth.com/tools/ad-library/facebook-ads-library-search.md)
- [Query the Meta Ad Library from your code without a Meta developer app](https://www.routergrowth.com/tools/ad-library/facebook-ads-library-api.md)
