> ## Documentation Index
> Fetch the complete documentation index at: https://docs.influship.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing

> Credit-based pricing for the Influship API

export const MonthlyEstimate = () => {
  const [counts, setCounts] = useState({
    searches: 100,
    results: 5,
    profiles: 50,
    matches: 10,
    lookalikes: 0
  });
  const fields = [['searches', 'Searches per month', 0, 1_000_000], ['results', 'Average creators delivered per search', 0, 100], ['profiles', 'Profiles found per month', 0, 1_000_000], ['matches', 'Creators scored per month', 0, 1_000_000], ['lookalikes', 'Lookalike creators delivered per month', 0, 1_000_000]];
  const credits = counts.searches * (25 + 2 * counts.results) + counts.profiles * 0.1 + counts.matches + counts.lookalikes * 1.5;
  const dollars = new Intl.NumberFormat('en-US', {
    style: 'currency',
    currency: 'USD',
    minimumFractionDigits: 2,
    maximumFractionDigits: 4
  }).format(credits * 0.01);
  return <section aria-label="Monthly API cost estimator" className="not-prose rounded-xl border border-zinc-200 p-5 dark:border-zinc-800">
      <div className="grid grid-cols-1 gap-4 sm:grid-cols-2">
        {fields.map(([key, label, min, max]) => <label className="flex flex-col gap-2 text-sm" key={key}>
            <span>{label}</span>
            <input className="rounded-md border border-zinc-300 bg-transparent px-3 py-2 text-base dark:border-zinc-700" max={max} min={min} onChange={event => {
    const value = Number(event.target.value);
    setCounts({
      ...counts,
      [key]: Number.isFinite(value) ? Math.min(max, Math.max(min, Math.floor(value))) : min
    });
  }} step="1" type="number" value={counts[key]} />
          </label>)}
      </div>
      <p aria-atomic="true" aria-live="polite" className="mt-5 text-lg" role="status">
        Estimated monthly usage: <strong>{dollars}</strong> (
        {credits.toLocaleString('en-US', {
    maximumFractionDigits: 2
  })} credits)
      </p>
      <p className="mt-2 text-sm text-zinc-600 dark:text-zinc-400">
        API-key/OAuth list prices before starter credits. Includes search, profile lookup, match,
        and lookalikes only. Other endpoints add usage.
      </p>
    </section>;
};

The Influship API uses <Tooltip tip="Credits are the billing unit for API usage. 1 credit = $0.01.">credits</Tooltip> at **\$0.01 per credit**. API-key and OAuth calls are billed for successful operations.

API-key and OAuth requests that return a `4xx` or `5xx` response are not charged. x402 and MPP have separate payment and settlement rules; see [x402 pricing](/guides/x402) and [MPP pricing](/guides/mpp).

## Try it and estimate costs

New API customers receive **500 one-time starter credits**, with no expiry and no card required. Keys share the same account balance. The allowance does not renew; rate-limit windows do.

| Example | Assumption | API-key/OAuth cost |
| - | - | -: |
| Search for five creators | Five creators delivered | \$0.35 |
| Resolve 50 profiles | All 50 found | \$0.05 |
| Score 10 creators | All 10 scored | \$0.10 |
| Read saved shortlists | Account-owned list operations only | \$0.00 |

Search has a base fee even when no creators match. [Starter-credit rules](#starter-credits-and-rate-limits) explain reservation and paid billing.

### Estimate monthly usage

Set your expected monthly volumes below. This estimates API-key/OAuth prices for delivered results, before starter credits. x402/MPP quote requested limits and include separate premiums and rounding; use their [payment guides](/guides/x402) instead of this estimate.

<MonthlyEstimate />

## Price table

Prices below apply to API-key and OAuth requests.

### Search and creator discovery

Paths below are relative to `/v1`.

| Endpoint | Credits | Price |
| - | - | -: |
| `POST /search` | 25 + 2/creator | \$0.25 + \$0.02/creator |
| `GET /search/{id}` | 0 (saved results) | \$0.00 |
| `POST /creators/lookalike` | 1.5/creator | \$0.015/creator |
| `POST /creators/match` | 1/creator | \$0.01/creator |

### Creator, profile, and post lookups

Paths below are relative to `/v1`.

| Endpoint | Credits | Price |
| - | - | -: |
| `GET /creators/{id}` | 0.1 per request | \$0.001 |
| `GET /creators/autocomplete` | 0.05 per request | \$0.0005 |
| `POST /creators/ingest` | 5 per creator ingested (new only) | \$0.05 |
| `GET /profiles/{platform}/{username}` | 0.1 per request | \$0.001 |
| `POST /profiles/lookup` | 0.1/profile | \$0.001/profile |
| `POST /creator-emails/lookup` | 5/creator | \$0.05/creator |
| `GET /posts` | 0.05/post | \$0.0005/post |

### Instagram live data

Paths below are relative to `/v1/raw/instagram`.

| Endpoint | Credits | Price |
| - | - | -: |
| `GET /profile/{username}` | 0.5 per profile | \$0.005 |
| `GET /post/{shortcode}` | 1 per post | \$0.01 |
| `POST /posts` | 1/post | \$0.01/post |
| `GET /transcript/{shortcode}` | 5 per transcript | \$0.05 |
| `POST /transcripts` | 5/transcript | \$0.05/transcript |

### TikTok live data

Paths below are relative to `/v1/raw/tiktok`.

| Endpoint | Credits | Price |
| - | - | -: |
| `GET /profile/{username}` | 0.2 per profile | \$0.002 |
| `GET /profile/{username}/videos` | 0.2 per source page | \$0.002 |
| `GET /video` | 0.2 per video | \$0.002 |
| `GET /video/comments` | 0.2 per source page | \$0.002 |
| `GET /video/comment/replies` | 0.2 per reply page | \$0.002 |
| `GET /music` | 0.2 per sound lookup | \$0.002 |
| `GET /search/users` | 0.2 per source page | \$0.002 |
| `GET /search/videos` | 0.2 per source page | \$0.002 |
| `GET /hashtag/videos` | 0.2 per source page | \$0.002 |
| `GET /music/videos` | 0.2 per source page | \$0.002 |
| `GET /video/captions` | 0.2 per delivered caption response | \$0.002 |
| `GET /video/transcript` | 2.5 per transcript | \$0.025 |
| `POST /videos` | 0.2 per successful video (1–20 urls) | \$0.002 |
| `POST /video/transcripts`, auto | 2.5 per successful transcript (1–10 urls) | \$0.025 |
| `POST /video/transcripts`, captions | 0.2 per successful caption response (1–10 urls) | \$0.002 |

### YouTube live data

Paths below are relative to `/v1/raw/youtube`.

| Endpoint | Credits | Price |
| - | - | -: |
| `GET /channel/{handle}` | 0.5 per channel | \$0.005 |
| `GET /transcript/{video_id}` | 0.5 per transcript | \$0.005 |
| `GET /channel-transcripts/{handle}` | 0.5/transcript | \$0.005/transcript |
| `GET /search` | 0.5 per fetched page | \$0.005 |
| `GET /video/{video_id}` | 0.5 per video | \$0.005 |
| `GET /typeahead` | 0.5 per request | \$0.005 |

Batch Instagram and TikTok raw endpoints charge credit-metered API-key and OAuth calls only for successful items. TikTok transcript pricing is fixed for every delivered transcript, including a cached result. Pay-per-request x402 and MPP batches quote all requested items. Settled payments are nonrefundable, including partial or entirely failed batches. The premium and whole-cent rounding apply once to the total batch, not separately to each item.

## Why Search Has a Base Fee

Each search costs 25 credits plus 2 credits per creator delivered. The base fee applies to every successful search, including an empty result set.

For example, three delivered creators cost 31 credits (\$0.31), while 25 cost 75 credits (\$0.75).

## Search Pricing in Detail

* Base fee: **25 credits** per search
* Per creator: **2 credits** per delivered result
* Limit sets the cap on how many results the <Tooltip tip="A search session is created by POST /v1/search. It holds a fixed set of results determined by the limit parameter.">search session</Tooltip> can return
* Pagination via `GET /v1/search/{id}` is free

| Scenario | Credits | Cost |
| - | -: | -: |
| `limit: 5`, 5 creators delivered | 35 | \$0.35 |
| `limit: 10`, 7 creators delivered | 39 | \$0.39 |
| `limit: 10`, 10 creators delivered | 45 | \$0.45 |
| `limit: 25`, 20 creators delivered | 65 | \$0.65 |
| `limit: 25`, 25 creators delivered | 75 | \$0.75 |

## What Does a Typical Month Cost?

<Tabs>
  <Tab title="Indie Hacker / Small Team">
    Building a creator discovery tool, running 100 searches/month with some lookups and matching.

    ```
    100 searches (limit: 10 avg)         = 4,500 credits
    200 creator lookups                  =    20 credits
    50 match scorings (5 creators each)  =   250 credits
    ─────────────────────────────────────
    Total                                = 4,770 credits
    Monthly cost                         = $47.70
    ```
  </Tab>

  <Tab title="Agency / Mid-Volume">
    Running campaigns for multiple clients, 500 searches/month with heavy lookalike usage.

    ```
    500 searches (limit: 15 avg)         = 27,500 credits
    1,000 creator lookups                =    100 credits
    200 lookalike searches (15 results)  =  4,500 credits
    500 match scorings (10 creators)     =  5,000 credits
    ─────────────────────────────────────
    Total                                = 37,100 credits
    Monthly cost                         = $371.00
    ```
  </Tab>

  <Tab title="Platform / High-Volume">
    Integrating search into a product, 5,000+ searches/month with autocomplete.

    ```
    5,000 searches (limit: 10 avg)       = 225,000 credits
    50,000 autocomplete requests         =   2,500 credits
    10,000 creator lookups               =   1,000 credits
    1,000 lookalike searches (20 results)=  30,000 credits
    ─────────────────────────────────────
    Total                                = 258,500 credits
    Monthly cost                         = $2,585.00
    ```

    At this volume, reach out for volume pricing — [elliot@influship.com](mailto:elliot@influship.com).
  </Tab>
</Tabs>

## Starter credits and rate limits

New API customers receive **500 one-time starter credits**, with no expiry and no card required. Use them across metered API endpoints. Your API keys share the same account balance; creating another key does not add credits.

The API reserves the maximum request cost before processing, then charges for the successful results delivered. Unused reserved credits return to your available balance. Requests in progress can temporarily reduce the credits available for another request.

If a request needs more credits than your available balance, a cardless account receives `402 insufficient_credits`. With paid usage enabled, the entire request uses paid billing and your remaining starter credits stay available for smaller requests.

The free tier also has separate request-speed budgets:

* **1,500 credits/hour** rate limit budget
* **150 credits/minute** rate limit budget

These budgets renew with their rate-limit windows. Your starter-credit balance does not renew. Once you make your first payment, your account upgrades to Tier 1 with higher rate limits.

See [Rate Limits & Tiers](/concepts/quotas-and-limits) for the full tier breakdown.

## Track Cost Per Request

Successful metered API-key/OAuth responses include billing headers:

```http theme={null}
X-Credits-Charged: 45.00
X-Credits-Features: creators.search
X-Billing-Plan: free
RateLimit-Remaining-Minute: 105
```

<CodeGroup>
  ```typescript TypeScript theme={null}
  const response = await fetch('https://api.influship.com/v1/search', {
    method: 'POST',
    headers: { 'X-API-Key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: 'fitness creators', limit: 10 }),
  });

  const charged = response.headers.get('X-Credits-Charged');
  const feature = response.headers.get('X-Credits-Features');
  console.log(`Charged ${charged} credits for ${feature}`);
  ```

  ```python Python theme={null}
  response = requests.post(
      'https://api.influship.com/v1/search',
      headers={'X-API-Key': API_KEY},
      json={'query': 'fitness creators', 'limit': 10},
  )

  print(f"Charged {response.headers['X-Credits-Charged']} credits")
  print(f"Feature: {response.headers['X-Credits-Features']}")
  ```
</CodeGroup>

Unmetered saved-shortlist operations use separate [request limits](/guides/saved-shortlists); do not use their headers to infer a credit balance.

## What Tiers Change

<Tooltip tip="Trust tiers are based on lifetime spend and determine your rate limit budgets and billing thresholds.">Trust tiers</Tooltip> do not change endpoint prices. They change your rate-limit budgets and billing thresholds. See [Rate Limits & Tiers](/concepts/quotas-and-limits) for details.

## Cost Controls

* **Keep search `limit` tight.** Start with 5 while prototyping. Increase it when you need more candidates to review.
* **Reuse creator and profile responses where appropriate.** Creator data changes less often than live platform data, so repeated lookups may be unnecessary.
* **Use autocomplete for name and handle suggestions.** It costs 0.05 credits per request. Run a creator search when the user submits a discovery brief.
* **Batch known work.** If you have a list of usernames, use `POST /v1/profiles/lookup` instead of individual lookups.

<Accordion title="FAQ: What's NOT charged?">
  API-key and OAuth requests are not billed when they return a `4xx` or `5xx` response. This includes validation errors, authentication or permission failures, unavailable data, rate limits, and temporary service failures.

  Pagination via `GET /v1/search/{id}` is also free — you're stepping through results you already paid for.

  x402 settlement is final when `PAYMENT-RESPONSE` reports success, including on an error response. MPP authorizes and settles before the endpoint runs, so an error response can still carry a `Payment-Receipt`. See [x402](/guides/x402) and [MPP](/guides/mpp) for the settlement contracts.
</Accordion>

<Accordion title="FAQ: Do unused credits roll over?">
  Your one-time starter credits do not expire. Standard paid API usage is charged per request, with no monthly credit allocation. Enterprise allowances follow your agreed billing terms.
</Accordion>

<Accordion title="FAQ: What happens if I exceed my rate limit?">
  You get a `429` response. No credits are charged for rate-limited requests. Wait for the reset window or reduce your request rate. See [Rate Limits & Tiers](/concepts/quotas-and-limits).
</Accordion>

<Info>
  **Enterprise customers** may have custom pricing, rate limits, and billing terms negotiated outside the standard tiers. If your current plan doesn't reflect your agreement, reach out at [elliot@influship.com](mailto:elliot@influship.com).
</Info>

<Info>
  If you're an early-stage startup, check out the [startup program](mailto:elliot@influship.com) for discounted access.
</Info>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.