Public API
No key. No affiliate. CORS open on GET.
Every JSON endpoint the site uses is public. Rates are the published USD figure on a panel's /services page, per 1,000. Nothing here is a ranking you can buy.
Method
Path
What
GET
/api/summary
Index counts and last rebuild time
GET
/api/catalog?platform=Instagram&type=likes
Cheapest USD row per panel
GET
/api/cheapest
Cheapest published row per network
GET
/api/search?q=instagram+likes
Full-text search (min 2 characters)
GET
/api/compare?a=panel.a&b=panel.b
Identical SKU names and markup between two panels
GET
/api/sparklines
14-day USD floor series
GET
/api/movement
24h / 7d floor movement
GET
/api/platforms
Networks in the public catalog
GET
/api/panels?q=
Panels with a public /services page
GET
/api/panel/{domain}
One panel: floors, catalog sample, census, supply
GET
/api/panel/{domain}/catalog
That panel's full public catalog
GET
/api/gated
Login-gated panels ranked for signup
GET
/gated.csv
Same list as a downloadable CSV
GET
/api/sku?name=
Other panels selling the same SKU name
GET
/api/changes
New, gone, 15%+ floor drops, new floor setters
GET
/api/drops
Largest floor drops since the last snapshot
POST
/api/undercut
CSV or indexed /services URL — who is cheaper on identical names
GET
/embed/sku/{platform}/{type}.js
Live floor badge (hotlink, utm_source=embed)
GET
/embed/panel/{domain}/score.js
Index Score badge (hotlink, utm_source=embed)
GET
/openapi.json
This surface as OpenAPI 3
curl -s 'https://smmindex.live/api/catalog?platform=Instagram&type=likes&limit=5'
Machine-readable: /openapi.json. Embed badges: /tools. Please cache. Please don't hammer a rebuild. The catalog is the scrape, not a live API against the panels.