InfluencerPact API
Search creators, look up profiles in bulk, check engagement authenticity, find creators by email and sync campaign results into your own tools.
Quick start
Create a key on the right, then call any endpoint with it. All responses are JSON.
curl https://api.influencerpact.com/v1/creators/lookup?platform=youtube\&handle=mkbhd \
-H "Authorization: Bearer ip_live_…"Authentication
Send your key in the Authorization header as a bearer token, or in X-API-Key. Keys are tied to your account and plan; we store only a hash, so copy the key when you create it.
Authorization: Bearer ip_live_…
# or
X-API-Key: ip_live_…Rate limits
Limits apply per key. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining (per UTC day); a 429 includes Retry-After.
| Plan | Per minute | Per day | Keys |
|---|---|---|---|
| Free | 10 | 200 | 2 |
| Pro monthly | 60 | 10,000 | 10 |
| Pro annual | 120 | 20,000 | 10 |
Your plan's limits also apply: search uses one search credit per new query (refunded when nothing is found), lookups share your hourly lookup budget, campaigns follow your campaign limits.
Endpoints
- GET
/v1/meYour plan and the limits that apply to this key.
- POST
/v1/searchSearch the creator database with the same filters as Discover. Returns creators with followers, average views, engagement rate, country, language and whether an email is on file.
curl -X POST https://api.influencerpact.com/v1/search \ -H "Authorization: Bearer $LUMI_KEY" -H "Content-Type: application/json" \ -d '{ "platform": "youtube", "keyword": "skincare", "country": "US", "minFollowers": 10000, "page": 1 }' - GET
/v1/creators/lookup?platform=youtube&handle=mkbhdOne creator by handle or profile URL (pass url= instead of handle=).
- POST
/v1/creators/bulkUp to your plan's bulk limit of handles or profile URLs per request. Each row is either a creator or a reason it wasn't found.
curl -X POST https://api.influencerpact.com/v1/creators/bulk \ -H "Authorization: Bearer $LUMI_KEY" -H "Content-Type: application/json" \ -d '{ "platform": "tiktok", "items": ["@khaby.lame", "https://www.tiktok.com/@zachking"] }' - GET
/v1/creators/authenticity?platform=youtube&handle=mkbhdEngagement-authenticity signals from the creator's recent posts, with sample size and method. Audience demographics are reported as unavailable.
- POST
/v1/reverse/emailsCreators whose public bio lists these emails, or who are in your own contacts.
curl -X POST https://api.influencerpact.com/v1/reverse/emails \ -H "Authorization: Bearer $LUMI_KEY" -H "Content-Type: application/json" \ -d '{ "emails": ["hello@creator.com"] }' - GET
/v1/campaignsYour campaigns with totals (views, spend, CPM, CPE, ROI).
- POST
/v1/campaignsCreate a campaign, optionally with post links.
curl -X POST https://api.influencerpact.com/v1/campaigns \ -H "Authorization: Bearer $LUMI_KEY" -H "Content-Type: application/json" \ -d '{ "name": "Spring launch", "currency": "USD", "links": "https://youtu.be/dQw4w9WgXcQ" }' - GET
/v1/campaigns/{id}One campaign with every tracked post and its latest metrics.
- POST
/v1/campaigns/{id}/postsAdd post links (and an optional cost per post) to a campaign.
curl -X POST https://api.influencerpact.com/v1/campaigns/{id}/posts \ -H "Authorization: Bearer $LUMI_KEY" -H "Content-Type: application/json" \ -d '{ "text": "https://www.tiktok.com/@user/video/7300000000000000000", "cost": 250 }' - GET
/v1/campaigns/{id}/historyHourly time series of views, likes, comments and shares.
Reverse email lookup accepts up to 20 emails per request.
Responses and errors
Successful responses have code 0 and the payload in data. Errors carry a stable string code and a readable message.
{ "code": 0, "message": "ok", "data": { … } }
{ "code": "API_RATE_MINUTE", "message": "Rate limit: 10 requests per minute", "data": null }| 400 | BAD_FILTERS | The request body or query is invalid. |
| 401 | API_KEY_INVALID | Missing, unknown or revoked key. |
| 402 | QUOTA_EXCEEDED | Your plan's search allowance is used up. |
| 404 | NOT_FOUND | No such creator or campaign. |
| 429 | API_RATE_MINUTE | Too many requests this minute. Wait for Retry-After. |
| 429 | API_RATE_DAY | Daily request limit for this key reached (resets 00:00 UTC). |
| 503 | DATA_UNAVAILABLE | Our data source is temporarily unavailable. Retry later; nothing was charged. |
A null metric means the source didn't publish it. We never fill gaps with estimates.