Shopify store and ad intelligence: traffic, best sellers, apps, live Meta ads and weekly breakouts.
One address for any MCP client. Your key stays in your Odel vault.

At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Odel could not list its tools without signing in.
100% free Shopify store and Meta ads intelligence, built for the community.
Find the stores that are winning, see the ads they run, and track your competitors. Every number comes from a real measurement with its source attached. Nothing is estimated.
Open the app → · Run it yourself · Use it from Claude or ChatGPT · This week's breakouts
AdLibrarySpy indexes 14.7M online stores, 3.9M of them on Shopify (as of September 2026), and the Meta ads they run. It shows you which stores are growing, what they sell and how they advertise. Traffic figures come from SimilarWeb's measurement of each store's exact domain, labelled with the month they cover. Ad data comes from the Meta Ad Library.
It's free: there are no plans, no credit limits and no checkout. It's also open source under MIT, and this repository is the code that runs adlibraryspy.com.
/store/{domain}), a store directory by niche, country and
tech, and /trendingA built-in MCP server (OAuth 2.1) lets Claude, ChatGPT and other assistants search shops and ads,
open dossiers and manage your brandtracker with your workspace's access. In Claude, go to Settings →
Connectors → Add custom connector and paste https://adlibraryspy.com/api/mcp.
All clients and tools →
0, a dash or a guess.The full rules are in docs/data-honesty.md.
Updated every week by a GitHub Action from the public weekly report.
Week 39, 2026 · updated 2026-09-25 · full week · all weeks
Stores adding the most ads in the Meta Ad Library, with measured traffic behind them. Source: Change in running ads in the Meta Ad Library, AdLibrarySpy index (Sep 2026 snapshot). Traffic: SimilarWeb, Aug 2026.
| # | Store | Niche | Change | Measured | |
|---|---|---|---|---|---|
| 1 | SM Appliance | Home & Garden | 🇵🇭 | +251 ads | 344 ads running in the Meta Ad Library (+69%) · 309K visits in Aug 2026 (SimilarWeb) |
| 2 | Power Crunch | Health | 🇺🇸 | +115 ads | 114 ads running in the Meta Ad Library · 33K visits in Aug 2026 (SimilarWeb) |
| 3 | Roosty's | Food & Drink | 🇺🇸 | +78 ads | 99 ads running in the Meta Ad Library (+49%) · 110K visits in Aug 2026 (SimilarWeb) |
| 4 | Official EA Site | Games | 🇺🇸 | +68 ads | 137 ads running in the Meta Ad Library · 77M visits in Aug 2026 (SimilarWeb) |
| 5 | AntiSocialSocialClub | Apparel | 🇺🇸 | +68 ads | 154 ads running in the Meta Ad Library (+425%) · 183K visits in Aug 2026 (SimilarWeb) |
| 6 | Official Sun Bum® Website | Beauty & Fitness | 🇺🇸 | +66 ads | 253 ads running in the Meta Ad Library · 201K visits in Aug 2026 (SimilarWeb) |
| 7 | Kardia | Health | +61 ads | 151 ads running in the Meta Ad Library (+203%) · 172K visits in Aug 2026 (SimilarWeb) | |
| 8 | MeUndies® | Apparel | 🇺🇸 | +60 ads | 541 ads running in the Meta Ad Library (+35%) · 1.8M visits in Aug 2026 (SimilarWeb) |
| 9 | SYLVOX | Consumer Electronics | 🇺🇸 | +57 ads | 109 ads running in the Meta Ad Library (+172%) · 185K visits in Aug 2026 (SimilarWeb) |
| 10 | LSKD | Apparel | 🇦🇺 | +44 ads | 69 ads running in the Meta Ad Library (+733%) · 2M visits in Aug 2026 (SimilarWeb) |
Largest month-over-month jump in measured visits, among stores that already had 20K+ visits. Source: SimilarWeb measured visits, Jul 2026 → Aug 2026.
| # | Store | Niche | Change | Measured | |
|---|---|---|---|---|---|
| 1 | StancedCo | Apparel | 🇺🇸 | +1,522% | 29K → 474K visits, Jul 2026 → Aug 2026 (SimilarWeb) |
| 2 | Starlite | Computers | 🇬🇭 | +1,519% | 85K → 1.4M visits, Jul 2026 → Aug 2026 (SimilarWeb) |
| 3 | Starlink Online | Computers | 🇶🇦 | +1,503% | 55K → 883K visits, Jul 2026 → Aug 2026 (SimilarWeb) |
| 4 | Absolute Eclipse | Apparel | 🇱🇻 | +1,475% | 77K → 1.2M visits, Jul 2026 → Aug 2026 (SimilarWeb) |
| 5 | CompuGhana | Home & Garden | 🇬🇭 | +1,410% | 85K → 1.3M visits, Jul 2026 → Aug 2026 (SimilarWeb) |
| 6 | Solar Eclipse Eyewear | Health | 🇺🇸 | +1,399% | 52K → 784K visits, Jul 2026 → Aug 2026 (SimilarWeb) |
| 7 | Deli Hemp | Food & Drink | 🇫🇷 | +1,204% | 29K → 373K visits, Jul 2026 → Aug 2026 (SimilarWeb) |
| 8 | Primal Storm | Health | 🇺🇸 | +1,014% | 59K → 659K visits, Jul 2026 → Aug 2026 (SimilarWeb) |
| 9 | Dogshood | Pets & Animals | 🇩🇪 | +981% | 36K → 385K visits, Jul 2026 → Aug 2026 (SimilarWeb) |
| 10 | RADER SHOP | Food & Drink | 🇯🇵 | +967% | 22K → 236K visits, Jul 2026 → Aug 2026 (SimilarWeb) |
git clone https://github.com/PSA-Team-source/AdLibrarySpy && cd AdLibrarySpy
npm install # Node 22.18+
cp .env.example .env.local # set DATABASE_URL (PGSSL=off for a local Postgres) and SMTP_*
npm run migrate
npm run dev # http://localhost:4311
npm test && npm run typecheck
SMTP is required because every sign-in is a link sent by email. A local mail catcher such as Mailpit works
(SMTP_HOST=localhost, SMTP_PORT=1025).
Where the data comes from: accounts, workspaces, the brandtracker, saves, API keys, OAuth and the public
pages all run on your own Postgres. Store and ad data come from the AdLibrarySpy market index, a hosted
service this app is a client of. Its shop endpoints are public, so a local instance shows stores out of the
box. Ad creatives need a service account (PLATFORM_JWT_SECRET, MARKET_SERVICE_ACCOUNT_ID). Without one,
the ads screens stay empty rather than inventing anything. To run your own instance against the full index,
open an issue.
All variables are listed, with placeholders, in .env.example.
| Variable | Required | Effect when unset |
|---|---|---|
DATABASE_URL | yes | App cannot start; /api/health returns 503 |
PGSSL | no | TLS on; set off for a local Postgres without TLS |
PG_POOL_MAX | no | Defaults to 10 connections |
SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, SMTP_FROM_EMAIL, SMTP_FROM_NAME | yes | Sign-in is an emailed magic link: nobody can sign in, and invites cannot send |
APP_BASE_URL | yes in production | Links in mail and OAuth metadata point at http://localhost:4311 |
SESSION_SECRET | for the newsletter | At least 16 characters; without it unsubscribe links cannot be signed |
MARKET_API_BASE | no | Defaults to the public index, https://api.platformdtc.com/api/v1 |
MARKET_TIMEOUT_MS | no | Defaults to 12000 |
PLATFORM_JWT_SECRET, MARKET_SERVICE_ACCOUNT_ID, MARKET_SERVICE_EMAIL | for ad creatives and MCP | Service account issued by the index operator; without it ad creatives return empty (shops still work) |
CLICKHOUSE_URL, CLICKHOUSE_USER, CLICKHOUSE_PASSWORD | no | Funnel events are not recorded |
TRAFFIC_PROVIDER + SIMILARWEB_API_KEY / SEMRUSH_API_KEY, TRAFFIC_CACHE_DAYS | no | Traffic comes only from the index's SimilarWeb crawl (see architecture) |
NEXT_PUBLIC_CHROME_EXTENSION_URL | no | The homepage shows no extension link |
APP_VERSION | no | /api/health reports dev |
WEEKLY_MAIL_PER_SEC | no | Weekly report sends 4 emails per second |
Next.js 15 (App Router, server actions) · React 19 · TypeScript · Tailwind · Radix UI and shadcn/ui ·
TanStack Query · PostgreSQL · ClickHouse (optional funnel analytics) · Cloudflare edge cache.
Multi-tenancy is enforced in lib/auth/guard.ts: a workspace_id always comes from the session, never
from the request. See docs/architecture.md for the layout, the traffic model,
the AI labels and the MCP server.
extension/ | The Chrome extension (Manifest V3, activeTab only, nothing runs in the background). |
packages/shopify-inspect | npx shopify-inspect <store>: reads any Shopify store's theme, best sellers, newest products, prices, apps and pixels from its own storefront, from your terminal. Zero dependencies. |
packages/mcp | adlibraryspy-mcp: a local (stdio) MCP server for Claude Code, Cursor and VS Code, with three tools that need no account. |
leaderboard/ | The Action behind the weekly table above. |
Issues and pull requests are welcome. See CONTRIBUTING.md and our Code of Conduct. Questions and ideas go to Discussions. Adding app and pixel
signatures to shopify-inspect is an easy first contribution. If AdLibrarySpy helps you, a ⭐ helps other
people find it.
MIT. The AdLibrarySpy name and logo, third-party logos and the screenshots are not covered. See NOTICE.md.