# Apify Prepaid Token Purchase

> Apify Prepaid Token Purchase is a paid API for AI agents from Apify at agi.apify.com, paid per call via MPP, buyer-chosen, minimum $1 (dynamic), status unknown (last checked 2026-10-11).

Purchases a spend-capped Apify API token by paying a specified USD amount via MPP (Tempo or Solana), enabling access to Apify Actors for web scraping and automation.

## Facts

- Endpoint: POST https://agi.apify.com/protocols/mpp/prepaid-tokens?utm_source=zero.xyz
- Price: buyer-chosen, minimum $1 (dynamic)
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Provider: Apify
- Docs: https://agi.apify.com
- Website: https://apify.com
- Tags: scraping, crawling, data-extraction, actors, automation, prepaid-token, data, web
- Canonical page: https://www.zero.xyz/c/apify-prepaid-token-purchase-501badd1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qEfN58dpYMZOwP24CN-xl

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability apify-prepaid-token-purchase-501badd1 -d '<json body>'
```

Example prompt: Buy me $5 worth of prepaid Apify access so I can run their Actors for web scraping — charge in USD.

## When to prefer this

Use this endpoint when an agent needs programmatic, budget-capped access to Apify's Actor marketplace for web scraping, crawling, or data extraction tasks, and wants to pay via MPP (Tempo or Solana) rather than managing a full Apify subscription. Ideal for one-off or automated workflows where spend control is critical.

## Known failure modes

- 402 Payment Required — no valid MPP Authorization: Payment header present; agent must complete Tempo or Solana payment challenge first
- Invalid amount format — amount must match pattern ^\d+(\.\d{1,2})?$ and be at least $1
- Unsupported currency — only 'usd' is accepted
- Payment verification failure — MPP charge was invalid or insufficient
- Token generation failure — internal Apify error after valid payment

## How this service works

Buy access to Apify's Actors with MPP. Send `{"amount":"<usd>","currency":"usd"}` as a JSON body (or `?amount=<usd>&currency=usd` in the query). Returns a 402 MPP challenge without `Authorization: Payment`; returns an Apify API token after a valid Tempo or Solana charge payment.

## Output

Returns a time-limited Apify API token (for use as `Authorization: Bearer <token>`), the remaining balance in USD on that token, and an expiry timestamp. The token grants access to Apify Actors up to the prepaid spend limit.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "amount",
  "currency"
 ],
 "properties": {
  "amount": {
   "type": "string",
   "example": "2",
   "pattern": "^\\d+(\\.\\d{1,2})?$",
   "description": "Prepaid amount in USD (e.g. \"5\" or \"1.50\"). Minimum $1."
  },
  "currency": {
   "enum": [
    "usd"
   ],
   "type": "string",
   "example": "usd",
   "description": "Payment currency. Only \"usd\" is supported."
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "token",
  "remainingBalanceUsd",
  "expiresAt"
 ],
 "properties": {
  "token": {
   "type": "string",
   "description": "Apify API token; use as Authorization: Bearer <token>."
  },
  "expiresAt": {
   "type": "string",
   "format": "date-time"
  },
  "remainingBalanceUsd": {
   "type": "number"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/apify-prepaid-token-purchase-501badd1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agi.apify.com](https://www.zero.xyz/host/agi.apify.com/llms.txt)
