set up olywork — https://olywork.com/llms.txt
Using olywork, count the active Meta ads for Notion (facebook.com/notionhq), then pull the 20 most recent. Show me the price first. Group them by format and call to action, and give me a CSV with ad_archive_id, started, format, cta, title and hook. Then list what the same company is running in the Google Ads Transparency Center.
A Page URL returns that advertiser's ads. A keyword returns everyone bidding on the phrase.
The Meta route bills per ad returned. The count probe is one result; it tells you what an uncapped pull would cost.
The agent groups on two fields Meta renders for every ad. Grouped output is faster to review than raw creative.
One cheap call returns the advertiser's Google ads by domain. Two libraries, one prompt.
Prices are the provider’s own rate, read from the catalog when this page loads, with $0.000 added by olywork.com. Success rates are olywork.com’s own served calls over the last 30 days.
| # | Step | What the agent asks | Provider used | Price | Success rate |
|---|---|---|---|---|---|
| 1 | Count the ads firstonlyTotal:true returns the count as a single billed result. Read it before you decide how many ads to pull. | how many active ads the Page runs, as one cheap result row | $0.005 per result | not yet measured | |
| 2 | Pull the Meta adsReads the Ad Library web UI. Billed per ad returned, so cap it with resultsLimit and maxItems. | active ads for a Page from the Meta Ad Library, with creative text and format | $0.005 per result | not yet measured | |
| 3 | Pull the Google adsOne flat call per domain, with format and first-shown dates per creative. Failed and empty searches are free. | the same advertiser's ads in the Google Ads Transparency Center, by domain | $0.015 per found | not yet measured |
Run on 2026-09-14, 20 ads in.
The count probe came back as one result row, then twenty ads came back in one Meta call and 17 in one Google call. The worst-case total above counts the count probe once per row because it shares the pull's endpoint; in practice it is one result. Every Meta ad opened with the same line and pointed at a sign-up; the variety is in format, not copy. The Google side is mostly text ads. The Meta calls went out on the team's own Apify key, and a team's own key is never metered, so the receipt shows the shared-key rate for them separately. A run on olywork's shared key bills them at the rate in the table.
olywork.com holds the provider keys. Neither you nor the agent sees them.
The provider's own rate, $0.000 markup, from a prepaid balance.
Charged per call. $1.00 free per new team, no card to start.
Already pay Hunter? Register it and those calls are never metered.
Another provider is a different word in the prompt, not a new integration.
No SDK, no OAuth dance per vendor, no seats.
A wrong Page URL or an advertiser with no active ads returns zero results and costs nothing.
A keyword query returns everyone bidding on the phrase. A Page URL returns that advertiser's ads. This run used a Page URL (facebook.com/notionhq) and got 20 Notion ads, not 20 ads from assorted bidders.
The Meta route blocks until the scrape finishes and is cut at five minutes. Keep the limit small or use the asynchronous pair.
The Google side keys on the advertiser's verified domain. A marketing subdomain returns nothing; use the root domain.
The count probe bills as one result; the full pull bills per ad. Notion's 113 active ads would cost $0.565 uncapped. The run capped at 20 ads ($0.105 on olywork.com's shared key).
Both routes read the public library pages. Field availability tracks whatever Meta and Google currently render. 5 of this run's 6 DCO ads returned template placeholders, not final copy.
Meta's public media links go stale within days. If you need a lasting creative pack, download the creative assets into your own storage on the same run, not later.
ads_archive is built around transparency rules and identity checks. It will not mirror the full commercial Ad Library UI. Use a public-library scrape route when you want active brand creatives.
Paying a monthly ad-spy subscription only to export a competitor's current ads is a common overbuy. Cap the ad count and bill per ad returned.
It depends on how many ads they run. Notion had 113 active ads; pulling all of them would cost $0.565 on olywork.com's shared key. This run capped at 20 ($0.105).
No. It reads the public Ad Library. Meta's own ads_archive route is free but needs identity verification and returns less.
Those are DCO (dynamic creative) ads. The library shows the template, not the rendered variants. This run's CSV has 10 IMAGE, 4 VIDEO, and 6 DCO; 5 of the DCO rows show placeholders and the sixth carried real copy.
18 of the 20 ads point at fb.me (a redirect); 2 point at notion.com. Ask the agent to scrape the final destinations as a follow-up step.
Meta rotates public CDN URLs. Save the file during the pull if you want a durable swipe file.