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.
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 outFacts
Facts from the repository
Read from GitHub on 2026-10-11.
| Job | Pull your competitors' ads from public ad libraries into one board. |
|---|---|
| License | MIT |
| Language | TypeScript |
| A real run needs |
|
| Demo mode | Yes. 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. |
| Repository | github.com/loootai/looot-ads |
| Facts read on | 2026-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.
| Endpoint | Used for | Live price |
|---|---|---|
| scrapecreators-facebook-adlibrary-company-ads-getscrapecreators | Meta ads by company name | reading live price |
| scrapecreators-linkedin-ads-searchscrapecreators | LinkedIn ads by company name | reading live price |
| scrapecreators-tiktok-ad-library-searchscrapecreators | TikTok ads by company name | reading 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.
FAQ
Questions about looot-ads
Keep going
Related on looot.ai
- Can an agent replace Foreplay?
Job by job, with live prices
- ScrapeCreators through looot
Social media data API
- Facebook Ad Library search
A free tool you can run in the page
- Free tools
Jobs you can run in the page
- All open source repos on looot
The hub with every repo
- 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.