Ebb Ocean Club: who is winning paid social now (2026-11-05)
Research only. No copy written, nothing spent, published or committed. Every number below is an AD COUNT or an ENGAGEMENT count (likes + comments + shares recorded by AdSpy); none of it is spend or sales. Engagement favours old ads and video, so read days beside it. "Live" means AdSpy saw the ad between 2026-10-06 and 2026-11-05. "Proven" = 100+ engagement AND (30+ days between AdSpy's first and last sighting OR the same first line on 2+ ads in the brand's pull, which is the relaunch count).
Baselines: the 2026-10-06 brand table in ../competitors/COMPETITORS.md (all-time AdSpy pulls plus Ad Library display counts) and the 2026-10-07 live pulls in ../competitors/adspy/winners-20261007/now-*.json, which used the identical query (--domain <d> --seen-days 30 --sort likes --n 40). The delta columns compare like with like against 10-07.
1. Ebb's own ads
Conditions: [OBSERVED, market] Meta Ad Library, US, all statuses, destination ebboceanclub.com, pulled 2026-11-05; ad counts, not spend or results; one advertiser.
Ebb is live. Meta Ad Library, US, all statuses, destination ebboceanclub.com: the library displays about 130 results; 120 rows were pulled (raw/adlib/ebb_domain_all.jsonl). The exact-phrase query "Ebb Ocean Club" returns the same 120 ids, and --country ALL also shows about 130 (ebb_domain_ALL_all.jsonl), so the account runs US only.
- Page: Ebb Ocean Club, page id 1373633845830377 (https://www.facebook.com/1373633845830377). All 120 pulled ads are active; placements Facebook, Instagram, Audience Network, WhatsApp, Threads.
- Formats: 94 image, 24 video, 2 DCO; 76 collation groups, 96 distinct images, 12 distinct videos.
- Start dates: first ads 2026-10-30, the bulk 2026-10-31, videos added 2026-11-04. Oldest active ad is 6 days old, so no Ebb ad meets the 30-day proof bar yet.
- Two hooks only: the barrier body ("You take care of your skin barrier. Your hair has one too.") on 105 ads, and the Sephora Savings Event body on 15. Headlines: "Ebb at the Sephora Savings Event, Ends 11/9" (105), "Up to 20% Off Ebb at Sephora" (14). Every ad sells Instant Slip + Shine "exclusively at Sephora".
- Landers: every ad goes to
https://ebboceanclub.com/pages/about?view=ebb-sephora-41 (60) or ?view=ebb-sephora-42 (60), an even A/B split. These are the Sephora bridge templates built in offers/ebbo-ocean-club/builds/sephora-skeletons/ (manifests _kit/shopify/ebb-sephora-41/42.manifest.json); the barrier body matches website-revamp/build/maps/hq-ab-barrier.map.json.
- Video ad ids (Ad Library): 1019074423853193, 1095645426799120, 1117263040893113, 1121625227461009, 1138243552247787, 1450230817192638, 1477300417647027, 1679076913552130, 1741392144266605, 1748558389566736, 1804073397411251, 1806478940387807, 1826207388952200, 1978578699476501, 2109194323053736, 2132828837440937, 2203628420183718, 2218374939029260, 28442302908781499, 28687982490901060, 2927731384257378, 29280792584866878, 4707340882819404, 947785178185820. Ad Library link pattern: https://www.facebook.com/ads/library/?id=.
| started |
lander (ebboceanclub.com/pages/about?view=) |
format |
first line |
ads |
| 2026-10-30 |
ebb-sephora-42 |
IMAGE |
The Sephora Savings Event starts today. |
9 |
| 2026-10-31 |
ebb-sephora-41 |
DCO |
The Sephora Savings Event ends 11/9. |
1 |
| 2026-10-31 |
ebb-sephora-41 |
IMAGE |
You take care of your skin barrier. Your hair has one too. |
40 |
| 2026-10-31 |
ebb-sephora-42 |
DCO |
The Sephora Savings Event starts today. |
1 |
| 2026-10-31 |
ebb-sephora-42 |
IMAGE |
The Sephora Savings Event starts today. |
4 |
| 2026-10-31 |
ebb-sephora-42 |
IMAGE |
You take care of your skin barrier. Your hair has one too. |
27 |
| 2026-11-01 |
ebb-sephora-41 |
IMAGE |
You take care of your skin barrier. Your hair has one too. |
7 |
| 2026-11-01 |
ebb-sephora-42 |
IMAGE |
You take care of your skin barrier. Your hair has one too. |
7 |
| 2026-11-04 |
ebb-sephora-41 |
VIDEO |
You take care of your skin barrier. Your hair has one too. |
12 |
| 2026-11-04 |
ebb-sephora-42 |
VIDEO |
You take care of your skin barrier. Your hair has one too. |
12 |
AdSpy shows none of it. Every Ebb query returned 0 ads (see absences); AdSpy has not indexed ads that started 2026-10-30 to 11-04, which also means AdSpy's 30-day window undercounts every brand's newest ads.
2. Brands ranked by live evidence
Sorted by summed engagement of the brand's live AdSpy ads (raw/adspy/now-<domain>.json). Kitsch was re-pulled with --n 120 (now120-mykitsch.com.json) because the 40-ad pull hit its cap; the 10-07 Kitsch baseline was capped at 40, so its delta in ad count is a floor. Ad Library columns: the library's own displayed result count for active ads by destination domain in the US, and the same query restricted to ads that started on or before 2026-10-06 (still active, so running 30+ days). "not reached" = queued, but the shared AdsPower research profile was held by other lanes' TikTok scrapers (one comments job had a 40-minute timeout) and the lane was stopped at 08:05 EST with these queries unrun. No Meta rate limit (1675004) was hit. Rerun the rest with ./adlib_run.sh adlib_spec3.txt (it skips finished labels), then python3 build_doc.py.
| rank |
brand (domain) |
sells |
AdSpy live ads, seen 10-06..11-05 |
summed eng |
top ad eng |
proven |
video |
10-07 same query: ads / summed eng / top / proven |
Ad Library active (US, displayed) |
active started on/before 10-06 |
10-06 Ad Library active |
| 1 |
mykitsch.com |
hair care + accessories + face tools |
83 |
289,176 |
46,797 |
54 |
51 |
40 / 260,148 / 46,777 / 23 |
~3,800 |
~1,100 |
about 2,700 |
| 2 |
langehair.com |
hair tools (dryer brushes) |
40+ |
207,644 |
30,118 |
38 |
33 |
not pulled |
not run |
not run |
not pulled |
| 3 |
humbyorganics.com |
hair care (shampoo bar, 50+ women) |
28 |
204,055 |
33,942 |
27 |
17 |
not pulled |
~81 |
not reached |
not pulled |
| 4 |
routinecos.com |
hair care (shampoo + conditioner) |
12 |
129,380 |
21,904 |
11 |
2 |
not pulled |
not reached |
not reached |
not pulled |
| 5 |
justnutritive.com |
hair care (gray hair shampoo, leave-in) |
19 |
34,728 |
8,476 |
16 |
5 |
not pulled |
not reached |
not reached |
not pulled |
| 6 |
rouvenor.com |
general store (one hair mask) |
8 |
32,079 |
15,203 |
6 |
8 |
not pulled |
not run |
not run |
not pulled |
| 7 |
kurinuka.com |
hair oil (batana) |
16 |
29,214 |
18,589 |
11 |
13 |
not pulled |
not reached |
not reached |
not pulled |
| 8 |
flownbeauty.com |
hair tool (GoBrush) |
22 |
25,316 |
6,743 |
14 |
15 |
not pulled |
not run |
not run |
not pulled |
| 9 |
olaplex.com |
hair care (bond repair) |
13 |
10,087 |
9,104 |
2 |
1 |
11 / 3,955 / 1,938 / 1 |
not run |
not run |
not pulled |
| 10 |
eskiin.com |
filtered showerhead |
16 |
6,963 |
2,582 |
8 |
16 |
29 / 33,544 / 7,033 / 27 |
~710 |
~370 |
about 810 |
| 11 |
cecred.com |
hair care (hair perfume pushed now) |
7 |
4,953 |
3,921 |
2 |
4 |
18 / 5,701 / 2,672 / 4 |
not reached |
not reached |
not reached |
| 12 |
crownaffair.com |
hair care (air dry cream, leave-in) |
8 |
3,266 |
2,971 |
1 |
6 |
1 / 10 / 10 / 0 |
not reached |
not reached |
not reached |
| 13 |
theouai.com |
hair care (fragrance pushed now) |
8 |
1,315 |
991 |
2 |
7 |
8 / 3,970 / 2,921 / 0 |
not reached |
not reached |
about 270 |
| 14 |
hairbrella.com |
satin-lined caps |
5 |
927 |
464 |
1 |
2 |
5 / 1,444 / 1,015 / 2 |
~810 |
~370 |
about 970 |
| 15 |
mimihaircare.com |
kids hair care |
1 |
36 |
36 |
0 |
1 |
not pulled |
not run |
not run |
not pulled |
| 16 |
sunbum.com |
sunscreen (hair line idle) |
2 |
18 |
9 |
0 |
0 |
2 / 48 / 29 / 0 |
not reached |
not reached |
not reached |
| 17 |
bondiboost.com |
hair care (growth) |
1 |
9 |
9 |
0 |
1 |
5 / 65 / 32 / 0 |
not reached |
not reached |
not reached |
| 18 |
briogeohair.com |
hair care |
0 |
0 |
0 |
0 |
0 |
not pulled |
not reached |
not reached |
- |
| 19 |
ever-eden.com |
kids skin + after-swim hair |
0 |
0 |
0 |
0 |
0 |
not pulled |
not reached |
not reached |
not reached |
| 20 |
gisou.com |
hair oil, honey |
0 |
0 |
0 |
0 |
0 |
not pulled |
not reached |
not reached |
- |
Delta vs 2026-10-06/07, in plain terms
- Kitsch grew. Ad Library active rose from about 2,700 (10-06) to about 3,800; about 1,100 of today's active ads started on or before 10-06. AdSpy live ads with 100+ engagement and proof rose from 23 (of a capped 40) to 54 (of 83). The same hero still leads: the Smoothing Air Dry Cream video (ad 1523265583179196) went from 46,777 to 46,797 and was still being seen on 10-29, with 10 ads carrying its first line. New pushes since 10-07 are outside hair formulas: the Lymphatic Contour Face Brush (30,486 and 30,278 on two re-cuts), an advent calendar, hair perfume and a Grinch collection. Only 23 of the 83 live Kitsch ads go to a hair-care formula page (air dry cream 9, welcome kits and shampoo/conditioner combos the rest).
- Eskiin cooled. AdSpy live ads 29 to 16, summed engagement 33,544 to 6,963, top live ad 7,033 to 2,582. Ad Library active about 810 to about 710, of which about 370 have run 30+ days. The one hook ("eskiin will give you your best skin & hair — guaranteed.") is on 13 ads, pointed at advertorials (
/pages/adv-0010-10-reasons-wm, /pages/adv-0012-damaged-hair-skin, /pages/wm-hh) and the /pages/holiday-flip-game offer.
- Cécred and OUAI moved budget to fragrance. Cécred live ads 18 to 7; its top live ad is Temple Oud Hair Perfume (3,921); the Detangling Spray appears only as the lander of a 3-engagement promo. OUAI stayed at 8 live ads but summed engagement fell from 3,970 to 1,315; 6 of 8 are the Laurel Canyon perfume, and its Leave In Conditioner ad has 2 engagements.
- Hairbrella switched season. 5 live AdSpy ads, same as 10-07; the top two sell the winter rain hat; the kids swim cap ad is down to 144 and 44. Ad Library active about 970 (10-06) to about 810, of which about 370 have run 30+ days.
- Crown Affair woke up. 1 live ad on 10-07, 8 now (3,266 summed). It launched a Smoothing Air Dry Cream, the same product Kitsch has scaled, and runs a creator video for its Weightless Hydration Set (2,971).
- Idle in AdSpy's window: Sun Bum (2 sunscreen ads, 18 engagement), BondiBoost (1 ad, 9). Zero live ads in AdSpy: Briogeo, Evereden, Gisou.
- Olaplex rose from 11 live ads (3,955) to 13 (10,087), carried by one travel ad for N°.7 Bonding Oil (9,104, 99 days).
3. Top 5 live ads per brand
Columns: AdSpy id (AdSpy's id is the Facebook post id for FB ads and the shortcode for Instagram ads), the post link built from AdSpy's record, format, first line of the caption, engagement (likes/comments/shares), days between AdSpy's first and last sighting with the dates, relaunch count (ads in the brand's pull sharing the first line), proven flag, lander.
mykitsch.com (hair care + accessories + face tools)
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
1523265583179196 |
adspy |
post |
Video |
Frizz? Never heard of her. 💁♀️✨Meet the NEW Smoothing Air Dry Cream, your effortless solu |
46,797 (46495/54/248) |
145 (2026-06-06..2026-10-29) |
10 |
yes |
https://www.mykitsch.com/products/kitsch-smoothing-air-dry-cream |
| 2 |
1622351319937288 |
adspy |
post |
Video |
Wake up looking puffy? Give your face a few minutes of massage. ✨ The Lymphatic Contour Fa |
30,486 (30185/30/271) |
42 (2026-09-17..2026-10-29) |
8 |
yes |
https://www.mykitsch.com/products/terracotta-lymphatic-contour-face-brush |
| 3 |
1649532767219143 |
adspy |
post |
Video |
Wake up looking puffy? Give your face a few minutes of massage. ✨ The Lymphatic Contour Fa |
30,278 (30253/2/23) |
17 (2026-10-12..2026-10-29) |
8 |
yes |
https://www.mykitsch.com/products/terracotta-lymphatic-contour-face-brush |
| 4 |
1661786305993789 |
adspy |
post |
Video |
Frizz? Never heard of her. 💁♀️✨Meet the NEW Smoothing Air Dry Cream, your effortless solu |
18,526 (18517/1/8) |
5 (2026-10-23..2026-10-28) |
10 |
yes |
https://www.mykitsch.com/products/kitsch-smoothing-air-dry-cream |
| 5 |
1618608813644872 |
adspy |
post |
Video |
Frizz? Never heard of her. 💁♀️✨Meet the NEW Smoothing Air Dry Cream, your effortless solu |
15,810 (15752/10/48) |
27 (2026-09-13..2026-10-10) |
10 |
yes |
https://www.mykitsch.com/products/kitsch-smoothing-air-dry-cream |
langehair.com (hair tools (dryer brushes))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
1328378502782138 |
adspy |
post |
Video |
Easily Done At Home |
30,118 (26738/1357/2023) |
126 (2026-06-16..2026-10-20) |
1 |
yes |
https://t.langehair.com/SHOJg |
| 2 |
935755325221204 |
adspy |
post |
Video |
Watch as I turn my freshly cut, above-the-shoulder hair into silky smoothness with L’ange’ |
25,031 (19538/2629/2864) |
961 (2024-03-06..2026-10-23) |
1 |
yes |
http://t.langehair.com/SHHin |
| 3 |
1120038399487938 |
adspy |
post |
Video |
❤ Tangles slide right out! It is FINALLY on sale so I'M STOCKING UP - 50% off SALE, ( Hydr |
19,689 (13242/4756/1691) |
688 (2024-11-26..2026-10-15) |
1 |
yes |
|
| 4 |
1123580082418385 |
adspy |
post |
Video |
Does your hair fall flat?? You need Salt & Sea Texturizing Spray!! ONLY $9.95!! |
13,269 (10156/1679/1434) |
929 (2024-03-28..2026-10-13) |
1 |
yes |
http://t.langehair.com/SHHlR |
| 5 |
1458441199622102 |
adspy |
post |
Video |
The viral brush, but better! |
12,098 (10223/1348/527) |
274 (2026-01-05..2026-10-06) |
1 |
yes |
https://t.langehair.com/SHNUc |
humbyorganics.com (hair care (shampoo bar, 50+ women))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
1171304901686518 |
adspy |
post |
Photo |
The truth about manufacturing in the USA? 🇺🇸 |
33,942 (23319/8959/1664) |
415 (2025-09-04..2026-10-24) |
1 |
yes |
https://humbyorganics.com/pages/blueberry-fields-for-mature-hair |
| 2 |
1217068083776866 |
adspy |
post |
Video |
Finally tried a shampoo bar for mature hair! Here’s what surprised me... |
19,007 (14647/3444/916) |
354 (2025-10-28..2026-10-17) |
1 |
yes |
https://humbyorganics.com/pages/blueberry-fields-for-mature-hair |
| 3 |
1397364235747249 |
adspy |
post |
Video |
They told me not to grow out my gray hair |
16,832 (13995/2471/366) |
140 (2026-06-11..2026-10-29) |
2 |
yes |
https://humbyorganics.com/pages/blueberry-fields-for-mature-hair |
| 4 |
1500541498762855 |
adspy |
post |
Video |
Women over 50 are the reason our best-selling shampoo bar exists. 💙 |
16,488 (14565/1254/669) |
27 (2026-10-08..2026-11-04) |
3 |
yes |
https://humbyorganics.com/pages/blueberry-fields-for-mature-hair |
| 5 |
DWxsRm2DPS7 |
adspy |
post |
Video |
Post-50 hormonal changes can make your hair thin, brittle and frizzy. |
14,332 (13234/1098/0) |
202 (2026-04-06..2026-10-25) |
3 |
yes |
https://humbyorganics.com/pages/blueberry-fields-for-mature-hair |
routinecos.com (hair care (shampoo + conditioner))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
1443272891145883 |
adspy |
post |
Video |
Get a FREE TRAVEL SIZE KIT with any purchase when you use code: TRAVEL |
21,904 (15290/4207/2407) |
156 (2026-05-07..2026-10-10) |
1 |
yes |
https://www.routinecos.com/product/shampoo-conditioner/ |
| 2 |
2208708706534012 |
adspy |
post |
Video |
Get a FREE TRAVEL SIZE KIT right now with any purchase using code: TRAVEL |
21,180 (20587/45/548) |
160 (2026-05-12..2026-10-19) |
1 |
yes |
https://www.routinecos.com/product/shampoo-conditioner/ |
| 3 |
1121944779945364 |
adspy |
post |
Photo |
BIG NEWS! |
20,721 (13224/6967/530) |
557 (2025-04-12..2026-10-21) |
1 |
yes |
https://www.routinecos.com/product/shampoo-conditioner/ |
| 4 |
1112180250921817 |
adspy |
post |
Photo |
BAD HAIR DAYS BE GONE! |
17,186 (10697/5612/877) |
572 (2025-04-01..2026-10-25) |
1 |
yes |
http://routinecos.com/product/shampoo-conditioner/ |
| 5 |
1431996568940182 |
adspy |
post |
Photo |
FREE TRAVEL SIZE KIT WITH CODE: TRAVEL |
9,244 (6051/2587/606) |
167 (2026-04-24..2026-10-08) |
1 |
yes |
https://www.routinecos.com/product/shampoo-conditioner/ |
justnutritive.com (hair care (gray hair shampoo, leave-in))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
815556424147148 |
adspy |
post |
Video |
Warning: Gray or White Hair? |
8,476 (5800/2005/671) |
400 (2025-09-11..2026-10-16) |
1 |
yes |
https://justnutritive.com/gray-hair-nutritive-shampoo/ |
| 2 |
831930825843041 |
adspy |
post |
Photo |
Say Goodbye to Dull Gray Hair! |
7,089 (5909/765/415) |
375 (2025-09-30..2026-10-10) |
1 |
yes |
https://justnutritive.com/gray-hair-nutritive-shampoo/ |
| 3 |
1465309031621529 |
adspy |
post |
Photo |
Smoother, brighter gray, silver, and white hair with our clean formula—free from alcohol, |
4,530 (3439/798/293) |
244 (2026-02-08..2026-10-10) |
1 |
yes |
https://justnutritive.com/collections/gray-hair/products/leave-in-conditioner-1 |
| 4 |
1481640793321686 |
adspy |
post |
Video |
This non-purple shampoo does not deposit purple dyes, tints, or chemicals that can lead to |
2,406 (2052/354/0) |
233 (2026-02-27..2026-10-18) |
1 |
yes |
https://justnutritivestore.com/collections/gray-hair/products/gray-hair-shampoo |
| 5 |
1439035680915531 |
adspy |
post |
Photo |
Get 30% Off * All Kits and Duos |
1,880 (1384/382/114) |
290 (2026-01-06..2026-10-23) |
1 |
yes |
https://justnutritive.com/collections/kits-duos |
rouvenor.com (general store (one hair mask))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
122174509280551247 |
adspy |
post |
Video |
🔥【Five-in-One Vacuum Warrior】Half-Price Handheld Vacuum King💥 |
15,203 (12142/1502/1559) |
366 (2025-10-12..2026-10-13) |
2 |
yes |
https://rouvenor.com/products/khbv |
| 2 |
122159391662551247 |
adspy |
post |
Video |
💜✨ Blonde but dull? Dry, unruly hair after coloring? |
14,924 (12672/1105/1147) |
488 (2025-06-26..2026-10-27) |
1 |
yes |
https://rouvenor.com/products/anti-yellow-purple-hair-mask |
| 3 |
122199705092551247 |
adspy |
post |
Video |
💧 Is your car's paint still naked to the harsh elements? |
989 (735/191/63) |
152 (2026-05-12..2026-10-11) |
1 |
yes |
https://rouvenor.com/products/caruick-1 |
| 4 |
122197037972551247 |
adspy |
post |
Video |
🔥【Five-in-One Vacuum Warrior】Half-Price Handheld Vacuum King💥 |
415 (350/32/33) |
173 (2026-04-21..2026-10-11) |
2 |
yes |
https://rouvenor.com/products/khbv |
| 5 |
122198944586551247 |
adspy |
post |
Video |
rouvenor |
344 (295/24/25) |
160 (2026-05-06..2026-10-13) |
1 |
yes |
https://rouvenor.com/products/khbv |
kurinuka.com (hair oil (batana))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
122155918461350658 |
adspy |
post |
Video |
✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 |
18,589 (15143/2141/1305) |
13 (2026-10-15..2026-10-28) |
7 |
yes |
https://kurinuka.com/products/unrefined-honduran-batana-oil |
| 2 |
122156950821350658 |
adspy |
post |
Video |
✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 |
4,386 (3696/442/248) |
4 (2026-10-19..2026-10-23) |
7 |
yes |
https://www.kurinuka.com/products/batana-natural-hair-oil-copy-sub |
| 3 |
122147326029350658 |
adspy |
post |
Video |
✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 |
2,417 (2064/225/128) |
22 (2026-09-20..2026-10-12) |
7 |
yes |
https://kurinuka.com/products/unrefined-honduran-batana-oil |
| 4 |
122156954487350658 |
adspy |
post |
Video |
✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 |
619 (545/47/27) |
9 (2026-10-19..2026-10-28) |
7 |
yes |
https://kurinuka.com/products/unrefined-honduran-batana-oil |
| 5 |
122146290555007016 |
adspy |
post |
Video |
✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 |
584 (569/0/15) |
61 (2026-08-12..2026-10-12) |
7 |
yes |
https://kurinuka.com/products/unrefined-honduran-batana-oil |
flownbeauty.com (hair tool (GoBrush))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
122214796322783364 |
adspy |
post |
Video |
You leave the salon, it looks perfect… and three days later you can't get it back. |
6,743 (5953/326/464) |
14 (2026-10-15..2026-10-29) |
2 |
yes |
https://flownbeauty.com/pages/gobrush-pro-bob-virality |
| 2 |
122212686794783364 |
adspy |
post |
Video |
I can't leave the house without this thing!Seriously get it! This brush has been such a li |
5,973 (4921/526/526) |
27 (2026-10-01..2026-10-28) |
6 |
yes |
https://flownbeauty.com/pages/gbp-adv-shorthair-v1 |
| 3 |
122209832912783364 |
adspy |
post |
Video |
I can't leave the house without this thing!Seriously get it! This brush has been such a li |
2,926 (2523/155/248) |
37 (2026-09-12..2026-10-19) |
6 |
yes |
https://flownbeauty.com/pages/gobrush-pro-bob-virality |
| 4 |
122212683338783364 |
adspy |
post |
Video |
I've done hair for twelve years, and these are the tools I'd never recommend to a client w |
1,698 (1458/94/146) |
17 (2026-10-01..2026-10-18) |
2 |
yes |
https://flownbeauty.com/pages/gobrush-pro-bob-virality |
| 5 |
122193988148376770 |
adspy |
post |
Photo |
I can't leave the house without this thing! |
1,571 (1183/377/11) |
357 (2025-10-30..2026-10-22) |
1 |
yes |
https://numoya.com/pages/gbp-lp-1806-04 |
olaplex.com (hair care (bond repair))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
DaiMRLDMIU_ |
adspy |
post |
Video |
When suitcase space is limited, OLAPLEX N°.7 Bonding Oil™ is a travel must-have. |
9,104 (8758/346/0) |
99 (2026-07-08..2026-10-15) |
1 |
yes |
https://olaplex.com/products/olaplex-n-7-bonding-oil-us |
| 2 |
1594557752705252 |
adspy |
post |
Photo |
Get even MORE great hair days with our Jumbo sizes & kits. Head to Olaplex.com today. |
321 (312/9/0) |
13 (2026-09-24..2026-10-07) |
2 |
yes |
https://olaplex.com/products/olaplex-n-4curl-bond-shaper-hydrating-curl-shampoo- |
| 3 |
1594561162704911 |
adspy |
post |
Photo |
Better together. Maximize your results (and your savings) when you shop our curated Virtua |
213 (213/0/0) |
2 (2026-10-05..2026-10-07) |
1 |
no |
https://olaplex.com/products/olaplex-total-hair-repair-set |
| 4 |
DezsxNQMEmk |
adspy |
post |
Photo |
Gift great hair with new, limited-edition holiday sets.🎁 |
92 (92/0/0) |
5 (2026-10-22..2026-10-27) |
4 |
no |
https://olaplex.com/collections/the-holiday-shop |
| 5 |
1651577137003313 |
adspy |
post |
Photo |
Get even MORE great hair days with our Jumbo sizes & kits. Head to Olaplex.com today. |
70 (70/0/0) |
0 (2026-10-27..2026-10-27) |
2 |
no |
https://olaplex.com/products/olaplex-two-ways-to-shine-set |
eskiin.com (filtered showerhead)
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
DcM9_7qgQO2 |
adspy |
post |
Video |
eskiin will give you your best skin & hair — guaranteed. |
2,582 (2460/122/0) |
48 (2026-08-19..2026-10-06) |
13 |
yes |
https://eskiin.com/pages/adv-0010-10-reasons-wm |
| 2 |
963586970094120 |
adspy |
post |
Video |
eskiin will give you your best skin & hair — guaranteed. |
1,127 (947/122/58) |
56 (2026-08-19..2026-10-14) |
13 |
yes |
https://eskiin.com/pages/adv-0010-10-reasons-wm |
| 3 |
972216599231157 |
adspy |
post |
Video |
eskiin will give you your best skin & hair — guaranteed. |
1,005 (862/96/47) |
44 (2026-08-28..2026-10-11) |
13 |
yes |
https://eskiin.com/pages/wm-hh |
| 4 |
844605975325554 |
adspy |
post |
Video |
Hard water, heavy metals, chlorine and other toxic chemicals are ruining your skin, hair a |
746 (596/116/34) |
199 (2026-04-05..2026-10-21) |
1 |
yes |
https://eskiin.com/ |
| 5 |
122111184261346691 |
adspy |
post |
Video |
Okay I have to talk about this because I genuinely didn't think it would work |
507 (440/41/26) |
119 (2026-06-14..2026-10-11) |
2 |
yes |
https://eskiin.com/pages/handheld |
cecred.com (hair care (hair perfume pushed now))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
DdHnRh_MwUa |
adspy |
post |
Video |
New! Temple Oud Hair Perfume, the iconic rich, woody, floral scent. |
3,921 (3761/160/0) |
32 (2026-09-10..2026-10-12) |
2 |
yes |
https://cecred.com/products/temple-oud-hair-perfume |
| 2 |
DdmUrJlsSYv |
adspy |
post |
Video |
New! Temple Oud Hair Perfume, the iconic rich, woody, floral scent. |
520 (498/22/0) |
20 (2026-09-22..2026-10-12) |
2 |
yes |
https://cecred.com/products/temple-oud-hair-perfume |
| 3 |
Dehs8bgMZbf |
adspy |
post |
Photo |
In case nobody told you, use code WINTER for 25% off treatments, conditioners & more. |
303 (294/9/0) |
10 (2026-10-15..2026-10-25) |
1 |
no |
https://cecred.com/collections/exclusive-offer |
| 4 |
DeKbE3CMvrO |
adspy |
post |
Video |
Save 14% on the Restoring Hair & Edge Drops Trio for visibly thicker, fuller hair |
138 (135/3/0) |
13 (2026-10-06..2026-10-19) |
1 |
no |
https://cecred.com/collections/kits-and-bundles/products/restoring-hair-and-edge |
| 5 |
DeSDKMQshT9 |
adspy |
post |
Video |
Save on protective style care, from install to take down. Code PROTECT. Limited time |
38 (38/0/0) |
6 (2026-10-09..2026-10-15) |
2 |
no |
https://cecred.com/en-uk/products/hair-scalp-balm |
crownaffair.com (hair care (air dry cream, leave-in))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
DdmV-1eAs7t |
adspy |
post |
Video |
Whipping up something weightless before the doorbell rings: delicate layers, a @crownaffai |
2,971 (2862/109/0) |
25 (2026-09-22..2026-10-17) |
1 |
no |
https://www.crownaffair.com/products/the-weightless-hydration-set |
| 2 |
DefnjVAAZ8D |
adspy |
post |
Video |
Products designed to help your hair look and feel better, softer, smoother, and easier to |
102 (102/0/0) |
4 (2026-10-14..2026-10-18) |
2 |
yes |
https://www.crownaffair.com/pages/build-your-ritual |
| 3 |
Dd7EEVuAMqL |
adspy |
post |
Video |
Meet The Smoothing Air Dry Cream. |
90 (87/3/0) |
24 (2026-09-30..2026-10-24) |
2 |
no |
https://www.crownaffair.com/products/the-smoothing-air-dry-cream |
| 4 |
1606603784813987 |
adspy |
post |
Video |
The Smoothing Air Dry Cream defines soft, frizz-free waves—without weighing hair down. |
43 (41/0/2) |
21 (2026-09-26..2026-10-17) |
1 |
no |
https://www.crownaffair.com/products/the-smoothing-air-dry-cream |
| 5 |
De5cDgBAw_v |
adspy |
post |
Video |
Meet The Smoothing Air Dry Cream. |
25 (25/0/0) |
6 (2026-10-25..2026-10-31) |
2 |
no |
https://www.crownaffair.com/products/the-smoothing-air-dry-cream |
theouai.com (hair care (fragrance pushed now))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
DcY0xeRsbul |
adspy |
post |
Video |
Meet Laurel Canyon, our new decadent & woody fragrance with notes of fig leaf, jasmine, al |
991 (969/22/0) |
46 (2026-08-23..2026-10-08) |
1 |
yes |
https://theouai.com/products/eau-de-parfum-laurel-canyon-travel |
| 2 |
DdpIfFZMDml |
adspy |
post |
Video |
Take the scenic route. Laurel Canyon balances lush fig leaf, jasmine & almond milk with wa |
159 (153/6/0) |
35 (2026-09-23..2026-10-28) |
3 |
yes |
https://theouai.com/products/eau-de-parfum-laurel-canyon-travel |
| 3 |
DdpIfnnsdLD |
adspy |
post |
Video |
Our newest scent has arrived. Laurel Canyon is decadent & woody with notes of fig leaf, ja |
74 (74/0/0) |
36 (2026-09-23..2026-10-29) |
1 |
no |
https://theouai.com/products/eau-de-parfum-laurel-canyon-travel |
| 4 |
1502886231865926 |
adspy |
post |
Photo |
Wherever you go, go all the OUAI with award-winning hair, body & fragrance products. |
61 (60/1/0) |
0 (2026-10-06..2026-10-06) |
1 |
no |
https://www.theouai.com/products/very-merry-melrose-place-kit |
| 5 |
DfF9WovMPNH |
adspy |
post |
Video |
Take the scenic route. Laurel Canyon balances lush fig leaf, jasmine & almond milk with wa |
18 (17/1/0) |
2 (2026-10-29..2026-10-31) |
3 |
no |
https://theouai.com/products/eau-de-parfum-laurel-canyon-travel |
hairbrella.com (satin-lined caps)
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
1452129557035054 |
adspy |
post |
Photo |
Rainy days usually mean a choice: stay warm or keep your hair intact. |
464 (453/2/9) |
20 (2026-09-17..2026-10-07) |
1 |
no |
https://www.hairbrella.com/products/hairbrella-satin-lined-winter-infinity-rain- |
| 2 |
1472728328308510 |
adspy |
post |
Video |
Don't let unexpected rain ruin a good hair day! 🌧️✨ |
223 (206/14/3) |
16 (2026-10-09..2026-10-25) |
1 |
no |
https://www.hairbrella.com/products/hairbrella-satin-lined-winter-infinity-rain- |
| 3 |
1427091539538856 |
adspy |
post |
Photo |
☀️ Summer means swim lessons, pool days, and endless fun. |
144 (124/0/20) |
47 (2026-08-20..2026-10-06) |
2 |
yes |
https://www.hairbrella.com/products/hairbrella-kids-swim-cap |
| 4 |
1425552543026089 |
adspy |
post |
Video |
The perfect addition to your wardrobe to protect your hair against rain, snow, and wind 🖤 |
52 (51/0/1) |
51 (2026-08-19..2026-10-09) |
1 |
no |
https://www.hairbrella.com/products/satin-lined-waterproof-cuffed-beanie-for-men |
| 5 |
1474756904772319 |
adspy |
post |
Photo |
☀️ Summer means swim lessons, pool days, and endless fun. |
44 (42/0/2) |
18 (2026-10-11..2026-10-29) |
2 |
no |
https://www.hairbrella.com/products/hairbrella-kids-swim-cap |
mimihaircare.com (kids hair care)
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
122125097703396821 |
adspy |
post |
Video |
Australia's favorite kids' haircare range has officially landed in CVS stores. |
36 (36/0/0) |
31 (2026-09-28..2026-10-29) |
1 |
no |
https://mimihaircare.com/ |
sunbum.com (sunscreen (hair line idle))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
1567347658756162 |
adspy |
post |
Photo |
Our Original Sunscreen is the stuff we use every day. |
9 (9/0/0) |
6 (2026-10-15..2026-10-21) |
1 |
no |
https://www.sunbum.com.au/ |
| 2 |
DeSFhzGs5jr |
adspy |
post |
Photo |
Daily moisturizer + SPF in one. Lightweight, hydrating formulas with 24-hour moisture and |
9 (9/0/0) |
25 (2026-10-09..2026-11-03) |
1 |
no |
https://www.sunbum.com/collections/daily-sunscreen |
bondiboost.com (hair care (growth))
| # |
ad id |
AdSpy |
FB post |
format |
first line |
eng (L/C/S) |
days |
relaunch |
proven |
lander |
| 1 |
1566637698838295 |
adspy |
post |
Video |
Your healthiest hair routine starts here ✨ |
9 (7/0/2) |
13 (2026-10-03..2026-10-16) |
1 |
no |
https://bondiboost.com/pages/bundle-bar |
4. Term sweep (ad text, US, seen in the last 30 days, sorted by likes, 40 each)
Relevance check: an ad was kept when it sells a hair-care product. Dropped ads are listed with the reason. The swim and ocean terms all came back empty this time; on 2026-10-07 the same query for "chlorine hair" returned 3 ads (Philip Kingsley, Pantene) and "after swim" 2 (Instant Swim). Swim season has ended in AdSpy's US window.
| term (ad text, US, seen 10-06..11-05, sort likes, n 40) |
ads returned |
kept (hair care) |
dropped (reason) |
top kept sellers (ads, top eng) |
| detangling spray |
3 |
1 |
pet grooming 1; German-language salon brand 1 |
randco.com (1, 52) |
| detangler |
4 |
4 |
- |
offers.pearcommerce.com (2, 1,082), mimihaircare.com (1, 36), unitehair.com (1, 33) |
| leave-in conditioner |
8 |
8 |
- |
justnutritive.com (2, 4,530), sephora.com (1, 179), isima.com (1, 166), ouidad.com (1, 83), randco.com (1, 52), sallybeauty.com (1, 12) |
| kids detangler |
0 |
0 |
- |
- |
| chlorine hair |
0 |
0 |
- |
- |
| swimmers hair |
0 |
0 |
- |
- |
| after swim |
0 |
0 |
- |
- |
| hair mask |
10 |
7 |
Dollar Tree delivery promo 1; Arabic-language, Egypt 1; Sri Lanka, Sinhala copy 1 |
rouvenor.com (1, 14,924), amazonmareekeratin.com (1, 13,241), sephora.com (3, 4,401), wendydy.com (1, 3,138), amazonpurplemask.com (1, 2,189) |
| sea moss hair |
0 |
0 |
- |
- |
| seaweed hair |
0 |
0 |
- |
- |
| split ends |
9 |
8 |
law-firm class action notice 1 |
kurinuka.com (5, 18,589), wendydy.com (1, 3,138), viori.com (1, 160), kevinmurphy.com.au (1, 50) |
| frizz |
40 |
25 |
hair tool bundle (L'ange) 6; Sri Lanka, Sinhala copy 3; hair tool, Brazil 1; Philippines retailer 1; Peru, Spanish copy 1; India store, pillowcases 1; no lander 1; Temu marketplace promo 1 |
mykitsch.com (9, 46,797), humbyorganics.com (6, 33,942), routinecos.com (3, 21,904), amazonmareekeratin.com (1, 13,241), olaplex.com (1, 9,104), flownbeauty.com (1, 6,743) |
| silky hair |
5 |
2 |
Malaysia kids brand 1; hair tool (brush) 1; publisher affiliate article 1 |
sephora.com (1, 341), costco.com (1, 204) |
5. NEW winners not in the old set
The old set is the nine brands in COMPETITORS.md plus the 30 brands picked in SWIPES.md. Humby Organics, JustNutritive, Rouvenor and Marée were already SWIPES picks; they are listed here because they were never sized as competitors and now carry the strongest live hair-formula evidence after Kitsch.
| brand |
sells |
live ads (proven) |
summed eng |
strongest live ad |
in old set? |
| Routine Wellness (routinecos.com) |
clean shampoo + conditioner; "free travel size kit" code offer |
12 (11) |
129,380 |
1443272891145883, 21,904, 156 days |
no |
| Humby Organics (humbyorganics.com) |
shampoo bar for women 50+, gray and thinning hair; every top ad goes to one page, /pages/blueberry-fields-for-mature-hair; Ad Library about 81 active (US) |
28 (27) |
204,055 |
1171304901686518, 33,942, 415 days |
SWIPES picks only |
| JustNutritive (justnutritive.com) |
gray-hair shampoo and leave-in |
19 (16) |
34,728 |
815556424147148, 8,476, 400 days |
SWIPES picks only |
| Kurinuka (kurinuka.com) |
raw batana oil |
16 (11) |
29,214 |
122155918461350658, 18,589, 13 days, 7 ads on the hook |
no |
| GoBrush via flownbeauty.com |
hot brush (tool), advertorial landers |
22 (14) |
25,316 |
122214796322783364, 6,743, 14 days |
no |
| L'ange (langehair.com) |
dryer brushes and styling tools |
40+ (38) |
207,644 |
1328378502782138, 30,118, 126 days |
no |
| Rouvenor (rouvenor.com) |
general store; one hair mask |
8 (6) |
32,079 |
122159391662551247 (purple hair mask), 14,924, 488 days |
SWIPES picks only |
| Olaplex (olaplex.com) |
bond-repair hair care |
13 (2) |
10,087 |
DaiMRLDMIU_, 9,104, 99 days |
10-07 live pull only |
Closest to Ebb by product: Routine (a clean shampoo + conditioner sold with a free travel kit; Ebb sells a Travel Kit) and Humby (clean shampoo bar sold through one long advertorial to a narrow buyer). Kitsch remains the scaled seller of the leave-in / anti-frizz door.
6. Ad Library longest-running active ads in the rows pulled
The default Ad Library order is not by age, so these are the oldest among the 10-60 rows pulled per brand, not each brand's true oldest ad.
| brand |
rows pulled |
oldest active start (days) |
ad id |
page |
format |
first line |
link |
| mykitsch.com |
70 |
153 |
1774860456878244 |
Kitsch |
DCO |
{{product.brand}} |
https://www.mykitsch.com/products/kitsch-smoothing-air-dry-cream |
| eskiin.com |
40 |
575 |
954830056494062 |
Eskiin |
VIDEO |
Man catches wife 💔 #eskiin #eskiinfilteredshowerhead |
http://instagram.com/myeskiin |
| hairbrella.com |
20 |
187 |
1313510757449894 |
Hairbrella |
DCO |
{{product.brand}} |
https://www.hairbrella.com/products/satin-lined-waterproof-sun-hat |
| humbyorganics.com |
10 |
243 |
1631438004667290 |
Humby Organics |
IMAGE |
Completely transform your silvers with specialized natural hair care.. |
https://humbyorganics.com/pages/blueberry-fields-for-mature-hair |
7. Absences (exact query, result)
| tool |
exact query |
result |
| AdSpy |
adspy_top.py --advertiser Ebb Ocean Club --sort recent --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --domain ebboceanclub.com --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --domain ebboceanclub.com --seen-days 30 --sort recent --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --domain ebboceanclub --sort recent --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --lp-domain ebboceanclub.com --sort recent --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --text Ebb Ocean Club --sort recent --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --text Khalyla --sort recent --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --domain briogeohair.com --seen-days 30 --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --domain ever-eden.com --seen-days 30 --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --domain gisou.com --seen-days 30 --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --text after swim --country US --seen-days 30 --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --text chlorine hair --country US --seen-days 30 --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --text kids detangler --country US --seen-days 30 --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --text sea moss hair --country US --seen-days 30 --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --text seaweed hair --country US --seen-days 30 --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| AdSpy |
adspy_top.py --text swimmers hair --country US --seen-days 30 --sort likes --n 40 |
0 ads (HTTP 200, empty first page) |
| Meta Ad Library |
--query "Khalyla Kuhn" --exact --status all --country US --max 60 |
0 ads, no result count shown |
| Meta Ad Library |
--query "Instant Slip" --exact --status all --country US |
about 540 shown; 12 of 60 pulled are Ebb, the rest are other advertisers using the phrase (HeyBotanic and Botanic Hair batana oil, Coconut Matter, Tsunami Hair, shoes, hijabs): a false-match key |
8. Method and exact commands
AdSpy (Kalp's session, on the MacBook through the tunnel, local adspy-profile, never logged in or out). Runner pull.py (copied in this folder) calls tools/swipe-drop/adspy_top.py once per query and moves each output into raw/; brought back to raw/adspy/ on the server. A per-run guard waits while any other session's adspy_top.py holds the same browser profile (an outthere session and an earthlyderm pull were running the same afternoon).
mac 'cd ~/Claude/offers/ebbo-ocean-club/research/market-now-20261105 && python3 pull.py ebb' # --domain ebboceanclub.com (likes, all time) / --seen-days 30 / --advertiser "Ebb Ocean Club" / --domain ebboceanclub
mac '... python3 pull.py ebb2' # --text "Ebb Ocean Club" / --text "Khalyla" / --lp-domain ebboceanclub.com
mac '... python3 pull.py domains mykitsch.com eskiin.com hairbrella.com cecred.com ever-eden.com theouai.com sunbum.com bondiboost.com briogeohair.com crownaffair.com gisou.com'
# each: adspy_top.py --domain <d> --seen-days 30 --sort likes --n 40
mac '... python3 pull.py text terms.txt'
# each term: adspy_top.py --text "<term>" --country US --seen-days 30 --sort likes --n 40
mac '... python3 pull.py domains routinecos.com humbyorganics.com justnutritive.com flownbeauty.com kurinuka.com mimihaircare.com langehair.com rouvenor.com olaplex.com'
mac '... python3 pull.py kitsch120' # adspy_top.py --domain mykitsch.com --seen-days 30 --sort likes --n 120
mac "cat <file>" / tar back to raw/adspy/
AdSpy cost: 41 searches, 408 ads collected, about 200-250 views at the measured 1 view per 2 ads. The account counter moved from 1,180 to 1,770 views this period during the run, which includes other sessions' pulls on the same account. No 401 and no login redirect occurred.
Meta Ad Library (server, AdsPower research profile, logged out, paced by human_pace). Runner adlib_run.sh <spec> waits while another job drives the profile and retries a refused start. Specs: adlib_spec.txt (Ebb), adlib_spec2.txt, adlib_spec3.txt (brand counts).
python3 research/adlib/adlib_graphql.py --query "ebboceanclub.com" --status all --country US --max 120 --profile research
python3 research/adlib/adlib_graphql.py --query "Ebb Ocean Club" --exact --status all --country US --max 120 --profile research
python3 research/adlib/adlib_graphql.py --query "ebboceanclub.com" --status all --country ALL --max 120 --profile research
python3 research/adlib/adlib_graphql.py --query "Khalyla Kuhn" --exact --status all --country US --max 60 --profile research
python3 research/adlib/adlib_graphql.py --query "Instant Slip" --exact --status all --country US --max 60 --profile research
python3 research/adlib/adlib_graphql.py --query "<domain>" --status active --country US --max 10-60 --profile research
python3 research/adlib/adlib_graphql.py --query "<domain>" --status active --country US --max 10 --start-max 2026-10-06 --profile research
Ad Library queries run (label, displayed count, rows pulled, rate-limit code seen):
| label |
displayed |
pulled |
1675004 |
| ebb_domain_ALL_all |
130 |
120 |
no |
| ebb_domain_all |
130 |
120 |
no |
| ebb_exact_name_all |
130 |
120 |
no |
| ebb_kw_instantslip_all |
540 |
60 |
no |
| ebb_kw_khalyla_all |
? |
0 |
no |
| eskiin_active |
710 |
30 |
no |
| eskiin_active30d |
370 |
10 |
no |
| hairbrella_active |
810 |
10 |
no |
| hairbrella_active30d |
370 |
10 |
no |
| humby_active |
81 |
10 |
no |
| kitsch_active |
3,800 |
60 |
no |
| kitsch_active30d |
1,100 |
10 |
no |
Analysis: analyze.py (shared helpers: relaunch count, proven flag, post link) and tables.py (writes raw/adspy/brand_table.md, top5.md, sweep_table.md, adlib_longrunners.md, all_brand_rows.json, brands_summary.json); build_doc.py assembles this file.
Files: raw/adspy/ (one JSON per AdSpy query with ranked rows and AdSpy's raw ad records, .empty for zero-result queries, adspy_log.txt with every command's output), raw/adlib/ (one JSONL per Ad Library query, log_<label>.txt with the displayed result count). Other folders under raw/ (tiktok, landers, reviews, ebb store captures) belong to a parallel lane working in the same directory and are not used here.