> ## 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.

# MPP Payments

> Use the Influship API with Stripe cards or USDC on Tempo via the Machine Payments Protocol

The Influship API supports the [Machine Payments Protocol (MPP)](https://mpp.dev/overview) on its paid public data endpoints. AI agents can pay per-request via Stripe cards (Shared Payment Tokens) or USDC on Tempo, no API key required.

| Before you start | Details |
| - | - |
| Auth | Protocol payment proof; no API key |
| Resource | The supported endpoints listed below |
| Cost | Requested limits determine the quote; settlement is nonrefundable |
| Limits | Read the quote and cap before authorizing payment |

MPP and [x402](/guides/x402) are available on the same supported endpoints. Choose the protocol your client supports.

## How it works

1. Your agent makes a request to a supported paid endpoint without an `X-API-Key` header.
2. The API responds with `402 Payment Required` and a `WWW-Authenticate: Payment ...` header advertising the supported MPP methods.
3. Your agent attaches an `Authorization: Payment <credential>` header proving payment authorization (signed by the user's wallet or backed by a Stripe SPT).
4. The API verifies, runs the request, and returns the response with a `Payment-Receipt` header.

The same 402 response includes both MPP and x402 challenges, so the client can pick.

MPP settles before the endpoint runs. Once settlement succeeds, the payment is final and the response keeps its `Payment-Receipt` even if the endpoint later returns an error.

## Pricing

MPP prices match [x402 pricing](/guides/x402#pricing) — same 20% surcharge over the credit-based pricing.

The total is rounded up once to whole cents, with a \$0.01 minimum. Stripe card payments are offered only when that quote is at least \$0.50; lower-priced requests use USDC or account credits. The API does not increase a quote to meet the card minimum.

| Endpoint | Price |
| - | - |
| `POST /v1/search` | \$0.3000 + \$0.0240 × requested\_limit, rounded up to the next whole cent with a \$0.01 minimum (capped at 100 results) |
| `GET /v1/creators/:id` | \$0.0100 |
| `POST /v1/creators/lookalike` | \$0.0180 × requested\_limit, rounded up to the next whole cent with a \$0.01 minimum (capped at 100 results) |
| `POST /v1/creators/match` | \$0.0120 × creators\_in\_request, rounded up to the next whole cent with a \$0.01 minimum |
| `GET /v1/raw/instagram/post/:shortcode` | \$0.0200 |
| `GET /v1/raw/instagram/transcript/:shortcode` | \$0.0600 |
| `GET /v1/raw/tiktok/profile/{username}` | \$0.0100 |
| `GET /v1/raw/tiktok/profile/{username}/videos` | \$0.0100 |
| `GET /v1/raw/tiktok/video` | \$0.0100 |
| `GET /v1/raw/tiktok/video/comments` | \$0.0100 |
| `GET /v1/raw/tiktok/video/comment/replies` | \$0.0100 |
| `GET /v1/raw/tiktok/music` | \$0.0100 |
| `GET /v1/raw/tiktok/video/captions` | \$0.0100 |
| `GET /v1/raw/tiktok/video/transcript` | \$0.0300 |
| `GET /v1/raw/youtube/channel/{handle}` | \$0.0100 |
| `GET /v1/raw/youtube/transcript/{video_id}` | \$0.0100 |
| `GET /v1/raw/youtube/channel-transcripts/{handle}` | \$0.0060 × requested video\_limit, rounded up to the next whole cent |
| `GET /v1/raw/youtube/search` | \$0.0100 per fetched page |
| `GET /v1/raw/youtube/video/{video_id}` | \$0.0100 |
| `GET /v1/raw/youtube/typeahead` | \$0.0100 |
| `GET /v1/raw/*` | starts at \$0.0100 unless the endpoint cost is higher |

The quote is based on your requested limit or batch size and stays the same if fewer results are returned.

## Supported rails

| Rail | Method | Settlement |
| - | - | - |
| **Stripe card** | `stripe/charge` | Stripe SPT (Shared Payment Token), USD via card or Link |
| **USDC on Tempo** | `tempo/charge` | On-chain USDC, settled in seconds |

Eligible methods are advertised in the `WWW-Authenticate` header. Your client picks from that request's offers. For variable-price operations, larger batches can qualify for cards even when smaller requests do not.

## Quickstart

Use any MPP-compatible client. The reference SDK is [mppx](https://github.com/wevm/mppx) by wevm:

```typescript theme={null}
import { Mppx, tempo } from 'mppx/client';
import { privateKeyToAccount } from 'viem/accounts';

const account = privateKeyToAccount(process.env.TEMPO_PRIVATE_KEY as `0x${string}`);

const mppx = Mppx.create({
  methods: [tempo({ account })],
});

const response = await mppx.fetch('https://api.influship.com/v1/search', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ query: 'fitness creators in NYC', limit: 25 }),
});

const data = await response.json();
```

Or use [AgentCash](https://agentcash.dev) for a turnkey CLI wallet that speaks both x402 and MPP:

```bash theme={null}
npx agentcash@latest discover https://api.influship.com
```

## Discovery

Influship endpoints are listed in the [MPP services directory](https://mpp.dev/services). Search for "Influship" or "influencer search" to find them programmatically.

## Pick your protocol

| If your agent supports... | Use |
| - | - |
| Both x402 and MPP | Either — pick based on rail availability |
| Only MPP | MPP (this guide) |
| Only x402 | [x402 guide](/guides/x402) |
| Neither (only API keys) | Get an [API key](/guides/authentication) for lower per-request cost and per-tier rate limits |

## Need higher rate limits or volume pricing?

Get an [API key](/guides/authentication) — same endpoints, lower per-request cost, no x402/MPP surcharge.


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