Trend API
Pull Trend Radar, Brand Radar and creator momentum into your own dashboards, sheets and tools. Read-only, versioned, JSON over HTTPS.
1. Access
The API is part of the Business plan for agencies and retailers. Talk to us to switch it on. Once it is on, create a key in the app under Settings → API keys. The full key is shown once; we store only a fingerprint of it, so copy it somewhere safe. You can hold up to five active keys and revoke any of them at once from the same page.
2. Authentication
Send the key in the Authorization header on every request. Keys start with influ_live_. Call the API from your server, never from a browser or a mobile app, and never commit a key to source control.
Authorization: Bearer influ_live_••••••••••••
Base URL: https://app.influ.site/api/v1
3. Responses
Every success is a JSON envelope. refreshed_at is when the underlying snapshot was built (the radars rebuild every 3 hours), so polling faster than that returns the same data.
{
"data": [ ... ],
"meta": { "api_version": "v1", "count": 10, "kind": "garment", "limit": 10 },
"refreshed_at": "2026-09-26T00:05:00Z"
}Field names are stable within v1. Weekly series are 8 numbers, newest first: index 0 is the last 7 days, index 7 is 49 to 56 days ago.
4. Endpoints
GET /trends
Rising fashion terms from Trend Radar, fastest first. Velocity is this week’s share of fashion posts over the mean share of the previous four weeks.
- kind
- Optional. One of garment, footwear, accessory, aesthetic, colour, fabric, hashtag. All kinds when absent.
- limit
- Optional. 1 to 100, default 40.
Fields
termkindlabelstageis_newvelocityposts_weekcreators_weekviews_weekshare_weekweekly_postsweekly_fashion_poststop_creators
curl -s "https://app.influ.site/api/v1/trends?kind=garment&limit=10" \ -H "Authorization: Bearer $INFLU_API_KEY"
GET /brands
Brands fashion creators tagged, @mentioned, co-authored with or were paid by in the last 7 days, from Brand Radar.
- sort
- Optional. One of mentions, velocity, paid. Default mentions.
- limit
- Optional. 1 to 100, default 40.
Fields
handledisplay_nameis_verifiedverified_byis_newvelocityposts_weekcreators_weekpaid_weekviews_weekshare_weeksignals_weekweekly_postsweekly_creatorsweekly_paidweekly_fashion_poststop_creators
curl -s "https://app.influ.site/api/v1/brands?sort=velocity&limit=20" \ -H "Authorization: Bearer $INFLU_API_KEY"
GET /brands/{handle}
One brand by Instagram handle (with or without the @). Same fields as the list.
- handle
- Required. The brand’s Instagram handle.
Fields
handledisplay_nameis_verifiedverified_byis_newvelocityposts_weekcreators_weekpaid_weekviews_weekshare_weeksignals_weekweekly_postsweekly_creatorsweekly_paidweekly_fashion_poststop_creators
curl -s "https://app.influ.site/api/v1/brands/acnestudios" \ -H "Authorization: Bearer $INFLU_API_KEY"
GET /creators/{creator_uuid}/momentum
A creator’s momentum, velocity and lifecycle phase. Private and opted-out creators are a 404, like a creator we do not track.
- creator_uuid
- Required. The creator id (a UUID), as returned in top_creators.
Fields
creator_uuidusernamefollower_countprimary_verticalcreator_scoremomentum_scoremomentum_labelgrowth_momentum_labelvelocity_labelacceleration_labelphase_labelfollowers_per_dayfollowers_accelerationposts_30dlast_post_atscore_computed_at
curl -s "https://app.influ.site/api/v1/creators/6f1d2c3b-1111-4222-8333-444455556666/momentum" \ -H "Authorization: Bearer $INFLU_API_KEY"
On the creator endpoint, a field your plan does not cover is returned as null and named in meta.gated_fields.
5. Rate limits
Each key may make 60 requests per minute (sliding window). Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (seconds). Over the limit you get a 429 with a Retry-After header in seconds; wait that long and retry.
Each account may also pull 20,000 rows a day across all its keys (a list counts its items, a single brand or creator counts 1). Every response carries X-Row-Units (rows in this response) and X-Rows-Remaining (rows left today). Once the day's rows are spent you get a 429 with code daily_row_limit_exceeded until midnight UTC; Retry-After says how long that is.
6. Errors
{ "error": { "code": "rate_limited", "message": "Rate limit exceeded for this API key." } }7. Use with Claude and other MCP clients
The same data is available as a Model Context Protocol server, so Claude, Cursor, n8n and other agent tools can ask for rising trends in plain language with no glue code. It is a remote server over Streamable HTTP at https://app.influ.site/api/v1/mcp, and it uses the same key, plan, rate limits and fields as the REST endpoints. Every message you send it counts as one request toward the rate limit.
Most clients take a JSON block like this (swap in your key):
{
"mcpServers": {
"influ": {
"type": "http",
"url": "https://app.influ.site/api/v1/mcp",
"headers": { "Authorization": "Bearer influ_live_••••••••••••" }
}
}
}In Claude Code, from a terminal:
claude mcp add --transport http influ https://app.influ.site/api/v1/mcp \ --header "Authorization: Bearer $INFLU_API_KEY"
In n8n, add an MCP Client Tool node with this endpoint, the HTTP Streamable transport, and header authentication set to Authorization = Bearer <your key>. Clients that only accept a URL with no custom headers cannot use the server yet.
Tools
GET /trends. Arguments: kind, limit.GET /brands. Arguments: sort, handle, limit.GET /creators/{creator_uuid}/momentum. Arguments: creator_uuid.Each result carries the REST envelope as structured content, with rows under data. List tools return 25 rows by default and at most 100. The tools are read-only.
8. Fair use
API data is covered by our Acceptable Use Policy: internal use, no resale, no sharing keys between organisations, and attribution as “Data from INFLU (influ.site)” where you show it.