All notable changes to the Influencers Club API, newest first. The API uses URL-based versioning (/v1/); breaking changes only ship in a new major version, with a minimum 12-month notice before retiring an old one.
has_personal_website: true on a Discovery request to filter for creators with a website on their Instagram, TikTok, or YouTube profile. Only true is meaningful; false or omitting the field has no effect.
POST /public/v1/creators/enrich/handle/profile/— identity, contact, and vetting data (validated email, name, gender, location, cross-platform presence, verification, account type, follower/media counts, bio, niche). Billed at 0.2 credits per successful request.POST /public/v1/creators/enrich/handle/analytics/— performance analytics only (engagement/growth detail, posting frequency, medians, income estimates, audience data, and optional lookalike creators). Available for Instagram, YouTube, TikTok, OnlyFans, Twitter, and Twitch; the other platforms have no analytics data and are rejected. Billed at 0.8 credits per successful request.
Added Natural-language search on Discovery — send an nlp_search brief at the top level of a Discovery request ("fitness creators in New York with over 100k followers") and the AI maps it to filters before the search runs. Filters and platform you set yourself always win. The response adds applied_filters and nlp_search so you can see exactly what ran. Billed at the normal Discovery rate.
Added Brands classifier — GET /public/v1/discovery/classifier/brands/ now documents search and paging, and page size is configurable with limit (1–100), where it was fixed at 50. Set exact=false to match part of a brand's normalised name instead of its handle — ?search=kfc&exact=false finds "KFC UK & Ireland".
return_filter_values=true to a Discovery request to include a matched_filters object on each returned creator, echoing the filter values it matched on. Premium calls are billed at 0.03 credits per creator (this replaces the 0.01 base rate; it is not additive). The unique-handle fair-use cap is unchanged.
sponsored_posts (the creator's commercial posts) and past_sponsors (sponsors aggregated per brand handle, with post counts and first/last seen dates) when include_audience_data is enabled.
/public/v1/discovery/exclusion-lists/:
Exclusion lists
GET exclusion-lists/— list exclusion listsPOST exclusion-lists/— create a specific exclusion listGET exclusion-lists/{list_id}/— get a specific exclusion listPATCH exclusion-lists/{list_id}/— rename a specific exclusion listDELETE exclusion-lists/{list_id}/— delete a specific exclusion listGET exclusion-lists/{list_id}/entries/— list handles in a specific listPOST exclusion-lists/{list_id}/entries/— add handles to a specific listDELETE exclusion-lists/{list_id}/entries/— remove handles from a specific list
Default lists (per platform, auto-created on first access)
GET exclusion-lists/default/{platform}/— get the default exclusion listGET exclusion-lists/default/{platform}/entries/— list handles in the default listPOST exclusion-lists/default/{platform}/entries/— add handles to the default listDELETE exclusion-lists/default/{platform}/entries/— remove handles from the default list
POST /public/v1/discovery/ and POST /public/v1/discovery/creators/similar/ return 429 until your subscription renews. See Usage & limits.
/public/v1/social/listening/:
Subscriptions
GET subscription/— list subscriptionsPOST subscription/— create a subscriptionGET subscription/{subscription_id}/— get a subscriptionPATCH subscription/{subscription_id}/— update a subscriptionDELETE subscription/{subscription_id}/— delete a subscriptionGET subscription/{subscription_id}/creators/— list subscription creatorsPOST subscription/{subscription_id}/creators/— add subscription creatorsGET subscription/{subscription_id}/details/— subscription statsGET subscription/{subscription_id}/details/export/— export stats (CSV)
Campaigns
GET campaign/— list campaignsPOST campaign/— create a campaignGET campaign/{campaign_id}/— get a campaignPATCH campaign/{campaign_id}/— update a campaignDELETE campaign/{campaign_id}/— archive a campaignGET campaign/{campaign_id}/creators/— list campaign creatorsPOST campaign/{campaign_id}/creators/— add campaign creatorsDELETE campaign/{campaign_id}/creators/— remove campaign creatorsGET campaign/{campaign_id}/overview/— campaign overviewGET campaign/{campaign_id}/content/— campaign content feed
Events
GET events/— list eventsGET events/{event_id}/— get an event
Usage
GET usage/— current limits and active subscription counts
/public/v1/accounts/:
GET tokens/— list all keys (active and inactive), including raw values and anactiveflag per entryPOST tokens/— create a new keyPATCH tokens/{token_id}/— update label, scopes, active status, or expirationDELETE tokens/{token_id}/— permanently delete a key
Added OAuth PKCE Flow — authorization code + PKCE flow for desktop and CLI integrations (S256 only), under /public/v1/oauth/:
POST register/— register a client once (no auth) for a persistentclient_idGET authorize/— browser-based consent flowPOST token/— exchange the authorization code for an access token
Added Connected OAuth Apps — manage the apps a user has authorized, under /public/v1/oauth/:
GET apps/— list connected appsGET apps/{app_id}/— get a single appDELETE apps/{app_id}/— revoke its access
Added Similar Creators — each account may include similarity_score (number): how closely that creator matches your reference (higher = stronger match).
search, offset, and limit query parameters. Use search for substring/prefix matching (e.g. "London", "United"); paginate with offset + limit (1–100 per page).
SimilarCreatorsTwitterRequest schema. Look up by url, username, or id.
include_audience_data=true. Returns breakdowns for followers, commenters, and likers: geography, languages, age, gender, interests, brand affinities, plus credibility histograms and reachability.
GET /public/v1/enrichment/batch/{batch_id}/download/ returns a short-lived presigned URL for downloading CSV results directly from cloud storage. The original GET /public/v1/enrichment/batch/{batch_id}/ is preserved as the direct-download fallback and is still required for JSON output via ?format=json.
keywords_not_in_captions (Instagram), keywords_not_in_tweets (Twitter), keywords_not_in_video_titles (YouTube), not_link_in_bio (Instagram, TikTok, Twitter, Twitch). Excludes creators whose recent content matches the given keywords.
audience.location, audience.interests, audience.brand_categories, audience.brands. Backed by four new classifier endpoints under /public/v1/discovery/classifier/: audience-locations, audience-interests, audience-brand-categories, audience-brand-names.
exclude_handles parameter. Accepts up to 10,000 handles to exclude from search results. Values are normalized automatically (lowercased, @ stripped, URLs parsed).
Breaking Discovery — include_lookalikes default flipped from true to false. Same request body, different result set.
| Before | After | |
|---|---|---|
| Default | include_lookalikes: true | include_lookalikes: false |
| Result | Includes lookalike creators | Excludes lookalike creators |
To restore previous behavior, set "include_lookalikes": true explicitly.
Deprecated Discovery — exclude_all parameter. Use exclude_handles instead. Minimum 12-month notice before removal.
type parameter now constrained to data | comments | transcript | audio. Instagram and TikTok support all four; YouTube supports only data and transcript.