← Help Center
Developers8 min read

API: make your first call

The subscriber API you call with a Pro API key, and the public endpoints that need no key: hosts, a working curl call, rate limits, and error formats.

InfluencersKit has two kinds of API. The subscriber API reads and changes your list, and needs an API key from the Pro plan. The public endpoints answer public questions and accept signups, with no key.

Before you start

  • For the subscriber API: a Pro plan and an API key. Create one under Settings → API keys & webhooks. See API keys.
  • Call it from a server or a script, never from a web page.
  • All requests go to https://influencerskit.com, over HTTPS.

Your first call

  1. 1Put your key in an environment variable, so it stays out of your code.
  2. 2Run the request below in a terminal.
  3. 3Check that you get status 200 and a JSON page of subscribers.
export IK_API_KEY="ik_live_..."   # your key

curl "https://influencerskit.com/api/subscribers?page=0&size=10" \
  -H "Authorization: Bearer $IK_API_KEY"

Response (shortened):

{
  "content": [
    {
      "id": "6727f0c2a1b2c3d4e5f60718",
      "email": "reader@example.com",
      "firstName": "Ada",
      "lastName": null,
      "status": "active",
      "tags": ["newsletter"],
      "source": "form:your-handle/your-form",
      "subscribedAt": "2026-11-01T09:12:00Z",
      "subscriberCategory": "NORMAL"
    }
  ],
  "totalElements": 1,
  "totalPages": 1,
  "page": 0,
  "size": 10
}

Endpoints a key can call

Any other path returns 403 API_KEY_ENDPOINT_NOT_ALLOWED, including deleting subscribers, sequences, broadcasts, billing, team and settings.

Method and pathWhat it does
GET /api/subscribers?page=0&size=50One page of subscribers, newest first. page (from 0) and size (1 to 100) are required. Optional q searches email and name; status is active, unsubscribed, bounced, pending or inactive.
GET /api/subscribers/status-countsHow many subscribers you have in each status: all, active, unsubscribed, bounced, pending, inactive.
POST /api/subscribersAdds a subscriber. If the address is already on your list, adds names where blank and merges tags instead. Body: email (required), firstName, lastName, tags, status, source.
PUT /api/subscribers/{id}Changes a subscriber. Body: email (required), and only the fields you change. tags replaces the whole list.

Add or tag a subscriber

  • The response is the subscriber, in the same shape as a row in the list.
  • Calling it again for the same address adds the new tags and keeps the old ones. It never changes the status back to active.
  • Send "status":"unsubscribed" to record an unsubscribe that happened in your own system.
  • Over your plan's subscriber allowance you get 402. See plans.

Only add people who agreed to hear from you. A new subscriber added as active starts your active welcome sequences, and there's no confirmation email. See consent and unsubscribes.

curl -X POST https://influencerskit.com/api/subscribers \
  -H "Authorization: Bearer $IK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"reader@example.com","firstName":"Ada","tags":["webinar-2026-11"]}'

Rate limits

Responses to a key carry X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset (Unix seconds when the minute ends). Over the key limit you get 429 with a Retry-After header in seconds.

WhoLimit
Each API key60 requests a minute
Each IP address, all /api calls together120 a minute
Public subscribe endpoints10 a minute and 60 an hour per IP address

Errors

Key errors look like {"message":"Invalid or revoked API key.","status":401,"code":"INVALID_API_KEY"}.

StatuscodeMeaning
400PAGE_REQUIREDA list call without page and size.
400A missing or invalid field, such as a bad email.
401INVALID_API_KEYThe key is wrong, revoked, or keys are switched off.
402Your list is at its plan limit.
403API_NOT_IN_PLANYour plan no longer includes API access. The key works again after an upgrade.
403API_KEY_ENDPOINT_NOT_ALLOWEDThat endpoint isn't open to keys.
403ACCOUNT_SUSPENDEDYour account is suspended.
404No subscriber with that id on your account.
409The change would reactivate someone who opted out.
429RATE_LIMITEDWait for Retry-After seconds.

Public endpoints, no key

  • A public subscribe never reactivates an unsubscribed or bounced address. If it's eligible, the person is emailed a confirmation request instead.
  • Store and checkout endpoints (/api/public/{handle}/products, /api/public/checkout/create) are answered on https://your-handle.ikpages.com.
Method and pathWhat it does
GET /api/public/creators/searchFinds creators by name or handle. Query: q, page (from 0), size (default 12, max 24).
GET /api/public/creators/{handle}One creator: handle, name, bio, avatar, public URL.
POST /api/public/creators/{handle}/subscribeAdds a subscriber. Body: email (required), name or firstName and lastName, tags.
POST /api/public/forms/{handle}/{formSlug}/subscribeAdds a subscriber through a live form. Body: email (required), firstName, lastName, ref, referrerSubscriberId.
GET /api/public/forms/{handle}/{formSlug}/embedThe form as an HTML page, for an iframe. See embed a form.
GET /api/public/lp/{handle}/{pageSlug}A landing page as JSON.
POST /api/public/lp/{handle}/{pageSlug}/subscribeAdds a subscriber through a landing page. Same body as forms.
GET /api/public/platform/plansThe current InfluencersKit plans.

Frequently asked questions

Which header carries my API key?

Authorization: Bearer ik_live_…. X-API-Key: ik_live_… works too. Use one, not both. See API keys.

Can I send a broadcast, enroll someone in a sequence, or delete a subscriber with a key?

No. A key can only call the four subscriber endpoints below. Everything else returns 403 API_KEY_ENDPOINT_NOT_ALLOWED.

Can I call the API from JavaScript on my website?

No. Your key would be visible to every visitor, and browsers block the call anyway. Call the API from your server. To collect signups on a web page, embed a form.

Can an API call resubscribe someone who unsubscribed?

No. Moving an unsubscribed, bounced or cleaned subscriber back to active needs a signed-in admin confirming it in the dashboard. A key gets 403 Reactivation needs a signed-in user.

Ready to try it?

Open your dashboard and follow along — or create a free account.