MIT open source, paid data

Open source Foreplay alternative: looot-ads

Pull your competitors' ads from public ad libraries into one board.

The code is MIT open source. The data is not free and not self-hosted: every real run calls looot and pays per call at the catalog price shown before the run.

Short answer

What is looot-ads?

looot-ads is an MIT-licensed web app and CLI. Name your competitors and it reads their ads from public ad libraries, then shows a board of creatives with copy, first seen date, running time, platform and landing page, plus a summary of angles and offers. The code is open source. The data is paid per looot call.

What it does

What looot-ads does and how to run it

Put competitors in a CSV with a name and a domain column, or pass them on the command line. For each competitor and platform it makes one call and keeps the first page the provider returns.

The board shows each creative with its copy, first seen date, running time, platform and landing page. For each competitor it adds a short summary of the angles and offers in their ad copy.

The price of every call shows before it runs. The CLI prints the plan, and the web app shows a table and a total and refuses a run if the live price rose above the quote you confirmed. Results go to JSON, CSV and a markdown brief.

This is the job that products such as Foreplay do.

Commands for looot-ads
git clone https://github.com/loootai/looot-ads && cd looot-ads
npm install --ignore-scripts
npm run demo
npm run ads -- --demo --out out
npm run ads -- --file competitors.example.csv --dry-run
export LOOOT_TOKEN=...
npm run ads -- --file competitors.csv --max-spend 0.25 --out out

Facts

Facts from the repository

Read from GitHub on 2026-10-11.

Facts about looot-ads
JobPull your competitors' ads from public ad libraries into one board.
LicenseMIT
LanguageTypeScript
A real run needs
  • Node.js 22.12 or newer
  • A looot token with the scopes runs.execute, catalog.read, runs.read and usage.read, for real pulls only
  • A funded looot balance, for real pulls only
Demo modeYes. npm run demo shows invented brands with generated placeholder thumbnails, and --demo writes the same data as files. Both need no token and make no looot call.
Repositorygithub.com/loootai/looot-ads
Facts read on2026-10-11

Data and price

Endpoints it calls, with the live price

Every real run calls these looot endpoints. The price column is read live from the catalog, never typed into this page.

Endpoints called by looot-ads with their live catalog price
EndpointUsed forLive price
scrapecreators-facebook-adlibrary-company-ads-getscrapecreatorsMeta ads by company namereading live price
scrapecreators-linkedin-ads-searchscrapecreatorsLinkedIn ads by company namereading live price
scrapecreators-tiktok-ad-library-searchscrapecreatorsTikTok ads by company namereading live price

Prices are read from the looot public catalog when the page loads. Some endpoints are priced per result, so a run that returns many rows costs more than one call. The CLI dry run prints the exact quote for your input before anything is charged.

Limits

What looot-ads does not do

  • It does not store creatives. It keeps the thumbnail and video links the provider returns, and a link can expire.
  • It makes one call per competitor and platform and keeps the first page, so it does not page through every ad of a large advertiser.
  • It has no discovery library of ads from brands you did not name, no creative analytics on your own ad account and no AI briefs.
  • The README lists Google Ads Transparency as a fourth source, with a pinned endpoint that was not in the public catalog on 2026-10-11. This page lists the three sources that were found. Check the README before you rely on Google.
  • Response parsing was written from provider documentation and fixtures. The README says it was not checked against a recorded paid response.

With an agent

Run it with your agent

Copy the prompt, give it to the agent you already use, and it dry-runs first.

Prompt: looot-ads
Use looot to pull the ads my competitors are running. Read https://looot.ai/skill.md first. Then clone https://github.com/loootai/looot-ads, put my competitors in a CSV with name and domain columns, run its dry run and show me the quote and the cap. Run the real pull only after I say yes, and summarise the angles and offers per competitor.

FAQ

Questions about looot-ads

It reads your competitors' ads from public ad libraries through looot and shows them on one board with copy, first seen date, running time, platform and landing page, plus a summary of angles and offers.

The code is free under the MIT license. The data is not. Every real pull is a set of paid looot calls at the catalog price, quoted before the run. Demo mode and the dry run cost nothing.

This page lists Meta, LinkedIn and TikTok, the endpoints found in the public catalog on 2026-10-11. The README also names Google Ads Transparency, so check it before you rely on that source.

One call per competitor and platform. The table on this page shows the live catalog price of each endpoint, and the dry run prints the exact plan and total for your file.

No. It keeps the thumbnail and video links the provider returns plus short text, so a link can expire.

It does not discover ads from brands you did not name, analyse your own ad account or write AI briefs. It keeps the first page per competitor and platform.

Yes. npm run demo and the CLI --demo flag use invented brands and need no token. A real pull needs a token and a funded balance.

Give your agent the prompt on this page and the setup link https://looot.ai/skill.md. The repo ships a skill that dry-runs first, shows the total and runs only after you agree.

Keep going

For agents
repo
https://github.com/loootai/looot-ads
job
Pull your competitors' ads from public ad libraries into one board.
license
MIT
language
TypeScript
endpoint
scrapecreators: scrapecreators-facebook-adlibrary-company-ads-get (ads_meta_search)
endpoint
scrapecreators: scrapecreators-linkedin-ads-search (ads_linkedin_search)
endpoint
scrapecreators: scrapecreators-tiktok-ad-library-search (tiktok_ad-library_search)
price
per call, read live from the catalog on the web page
framing
MIT code, paid data, every real run calls looot
setup
https://looot.ai/skill.md
llms.txt
https://looot.ai/llms.txt
read
2026-10-11

Run looot-ads on your own looot account.

Try the demo first, no account needed. For a real run, start your workspace, top up, and use the quote the repo prints before it spends anything.