How-to 20 min Beginner Ads

How to export Meta Ad Library ads to Google Sheets

The Meta Ad Library is public, but copying creatives by hand does not scale. This walkthrough takes a Library search URL, turns it into rows (advertiser, copy, media, CTA, dates) and lands them in Google Sheets — once, or every Monday.

1 Build the Ad Library URL Meta already gives you

Open facebook.com/ads/library. Set country, active/inactive, keyword or page, and any media-type filter you care about. Copy the URL from the address bar — that is the Actor’s required searchUrl. You do not invent query parameters; you reuse Meta’s own search.

A typical URL looks like https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=electric%20vehicles. Keep country and q in the URL; the Actor does not re-ask for them.

2 Run Facebook Ads Library Scraper on Apify

Open the EasyAPI Actor (listed From $2.99 / 1k plus a $0.09 start fee as of Oct 2026). Paste searchUrl, set maxItems to 30 for a test, and run.

Expect creative-level rows: advertiser signals, primary text, headline, CTA, image/video URLs and start dates when the Library exposes them. Layouts change; confirm the live Output tab before you build a dashboard on a column name.

Example input
{
  "searchUrl": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=electric%20vehicles",
  "maxItems": 30
}

3 Land the dataset in Google Sheets

One-off: Dataset → Export CSV → Sheets File → Import.

Repeating: add an integration on the Actor to lukaskrivka/google-sheets with datasetId {{resource.defaultDatasetId}}, mode append, and a tab named after the keyword (e.g. “EV / US”). Append keeps a history of creatives; replace if you only want the current Library snapshot.

4 Schedule a weekly competitive sweep

Schedules → Create → 0 9 * * 1 (Monday 09:00 in your timezone) with the same searchUrl. Agencies usually keep one schedule per competitor page or per keyword, not one giant “everything” job — failed runs are easier to debug and each tab stays readable.

Watch-outs

Things that usually go wrong

  • Library ≠ ads manager

    This is competitive research on public Library pages. It will not create, edit or pause ads in Meta Business Manager.

  • Search URL, not a keyword field

    If you paste a bare keyword instead of a Library URL the run will fail. Always copy from facebook.com/ads/library after you have set the filters.

  • Creative assets are URLs, not files

    Image and video fields are links. Sheets will not download the binary. Use IMAGE() for a preview, or a downloader Actor if you need files.

FAQ

Before you run this in production

Does this cover Instagram, Audience Network and Messenger ads?

Meta’s Library includes those placements when the advertiser ran them. The Actor returns what the Library page shows for your searchUrl — it does not log into ad accounts.

Can I do LinkedIn or Google ads in the same sheet?

Not with this Actor. Use LinkedIn Ads Library Scraper, Google Ads Scraper or Microsoft Ad Library Scraper, then a second integration into another tab of the same spreadsheet.

Related tools

In the same toolkit

More how-to guides

Run Facebook Ads Library Scraper

Start with a 50-row test on Apify’s free credits, then schedule it once the sheet looks right.