# Public data an agent can buy on its own.

> API for Agents · https://apiforagents.dev/index · HTML twin: https://apiforagents.dev

Pay-as-you-go data API for AI agents: LinkedIn, Instagram, TikTok, Google Maps, Amazon and 21 more on one key. Your agent signs itself up in one call with $0.10 free, sees the price first, gets a receipt.

- Pricing: Pay as you go
- Billed: Per record
- Free to start: $0.10
- Monthly fee: $0

- A key from one request.
- The price before every call.
- A receipt on every answer.
- Top up from $5. Nothing monthly.

## Built for the agent, not the dashboard

### An agent registers itself

Standard agent registration: one POST returns an identity with $0.10 free, so the agent can quote and run its first real calls before anyone logs in. A person claims it later with a six-digit code and tops up.

`POST /agent/identity { type: anonymous } → identity_assertion`

### Nothing is spent without a quote

Any call sent with estimateOnly returns the exact charge in dollars and takes nothing. Set maxUsd on a call and the engine refuses rather than overspends.

`estimateOnly: true · maxUsd: 0.05`

### Every answer says what it is

Coverage, provenance, confidence and cost ride on every response. An unknown is an empty field with a reason, never a guess dressed as a number.

`data · coverage · provenance · confidence · cost · notes`

## Four requests from nothing to data

1. **Register.** One POST, no card, no console. The agent gets an identity, a bearer token and $0.10 free to prototype with. `POST /agent/identity`
2. **Quote.** Send the real request with estimateOnly. See the dollar amount. Pay nothing. `"estimateOnly": true`
3. **Get claimed.** The agent shows a person a six-digit code and a link. Once typed, the agent acts on their account and the first top-up of $5 unlocks runs. `POST /agent/identity/claim`
4. **Run.** Same request, flag removed. Charged what was quoted, refunded per subject for anything that did not come back. `POST /v1/{platform}`

## The response envelope

```json
{
  "data": { "companies": [
    { "universalName": "acme-corp", "name": "Acme", "employeesCount": 342,
      "website": null, …, "details": { "tagline": "…" } }
  ] },
  "coverage": [
    { "platform": "linkedin", "requested": 3, "returned": 2,
      "omitted": [ { "subject": "gone-corp", "reason": "not_found" } ] }
  ],
  "provenance": [
    { "subject": "acme-corp", "measuredAt": "2026-10-13T09:41:00Z",
      "source": "capture" }
  ],
  "confidence": { "acme-corp": "measured", "globex": "measured" },
  "cost": { "usd": 0.0072, "balanceUsd": 4.9928,
            "chargedFor": ["linkedin:companies:acme-corp", "linkedin:companies:globex"] },
  "notes": []
}
```

- `data`: The rows, keyed by what they are (profiles, companies, posts…). Every row carries the operation's typed fields, always present and null when the source had nothing, with details last.
- `coverage`: What you asked for against what came back, and why anything is missing.
- `provenance`: When each subject was measured and whether it was a fresh capture or a cached read.
- `confidence`: Measured, derived or unknown. Never a blend.
- `cost`: What this call charged in dollars, what is left, and which subjects you paid for.
- `notes`: Plain sentences when something needs saying. Empty when nothing does.

## A refusal

```
HTTP 402
{ "error": {
    "code": "insufficient_funds",
    "message": "This call needs $0.12. The account holds $0.03.",
    "fix": "Top up at the link, or lower limit to 20.",
    "details": { "neededUsd": 0.12, "balanceUsd": 0.03,
                 "topUp": "https://apiforagents.dev/pay/acc_7f3k" },
    "docs": "https://apiforagents.dev/docs.md#insufficient_funds" } }
```

## Platforms

All 26 on one key, one balance and one response shape.

- [Instagram](https://apiforagents.dev/platforms/instagram.md): Profiles, posts, comments, followers, hashtags and similar accounts from Instagram. Pay as you go, from $0.00045 per comment.
- [LinkedIn](https://apiforagents.dev/platforms/linkedin.md): People, companies, posts, jobs, comments, reactions and ads from LinkedIn. Pay as you go, from $0.001 per job.
- [YouTube](https://apiforagents.dev/platforms/youtube.md): Channels, videos and comments from YouTube. Pay as you go, from $0.00045 per channel.
- [X / Twitter](https://apiforagents.dev/platforms/x_twitter.md): Profiles, posts and search from X, formerly Twitter. Pay as you go, from $0.000225 per follower.
- [Reddit](https://apiforagents.dev/platforms/reddit.md): Posts, comments, subreddits and search from Reddit, with scores and permalinks on every row. Pay as you go, from $0.0045 per comment.
- [TikTok](https://apiforagents.dev/platforms/tiktok.md): Creators, videos, comments, followers, search and shop listings from TikTok. Pay as you go, from $0.00045 per comment.
- [Facebook](https://apiforagents.dev/platforms/facebook.md): Pages, posts, reels, comments, reviews, ads, events and marketplace listings from Facebook. Pay as you go, from $0.0022 per comment.
- [Amazon](https://apiforagents.dev/platforms/amazon.md): Products, search results and reviews from any Amazon marketplace. Pay as you go, from $0.00045 per review.
- [Shopify](https://apiforagents.dev/platforms/shopify.md): Products, prices and stock from any Shopify store. Pay as you go, from $0.0009 per product.
- [Farfetch](https://apiforagents.dev/platforms/farfetch.md): Products, search and listings from Farfetch, priced per storefront. Pay as you go, from $0.0009 per product.
- [GOAT](https://apiforagents.dev/platforms/goat.md): Resale products, listings and asks from GOAT. Pay as you go, from $0.0009 per product.
- [StockX](https://apiforagents.dev/platforms/stockx.md): Market prices, listings and last sales from StockX. Pay as you go, from $0.0009 per product.
- [Blinkit](https://apiforagents.dev/platforms/blinkit.md): A product's price and stock at one dark store, right now, from Blinkit. Pay as you go, from $0.0009 per category.
- [Swiggy Instamart](https://apiforagents.dev/platforms/instamart.md): A product's price and stock at one dark store, right now, from Swiggy Instamart. Pay as you go, from $0.0009 per category.
- [Zepto](https://apiforagents.dev/platforms/zepto.md): A product's price and stock at one dark store, right now, from Zepto. Pay as you go, from $0.0009 per category.
- [Indeed](https://apiforagents.dev/platforms/indeed.md): Job search and job listings from Indeed, by country. Pay as you go, from $0.000045 per job.
- [Naukri](https://apiforagents.dev/platforms/naukri.md): Job search from Naukri with the board's own filters. Pay as you go, from $0.0018 per job.
- [Upwork](https://apiforagents.dev/platforms/upwork.md): Job search from Upwork with its own filters. Pay as you go, from $0.0027 per job.
- [Contacts](https://apiforagents.dev/platforms/contacts.md): A person's work email and mobile number, by LinkedIn handle.
- [Explore](https://apiforagents.dev/platforms/explore.md): Data sources beyond the named platforms, for the long tail.
- [Google Maps](https://apiforagents.dev/platforms/google_maps.md): Places, search and reviews from Google Maps. Pay as you go, from $0.000225 per review.
- [Yelp](https://apiforagents.dev/platforms/yelp.md): Businesses, search and reviews from Yelp. Pay as you go, from $0.000225 per review.
- [Tripadvisor](https://apiforagents.dev/platforms/tripadvisor.md): Hotels, restaurants, attractions and reviews from Tripadvisor. Pay as you go, from $0.0018 per attraction.
- [Airbnb](https://apiforagents.dev/platforms/airbnb.md): Listings, prices for a stay and reviews from Airbnb. Pay as you go, from $0.0018 per listing.
- [Booking.com](https://apiforagents.dev/platforms/booking.md): Properties, search, prices for a stay and reviews from Booking.com. Pay as you go, from $0.0018 per listing.
- [Google](https://apiforagents.dev/platforms/google.md): Web search, news, images, shopping and Play Store reviews from Google. Pay as you go, from $0.00009 per play review.

## Compared with the others

| | apiforagents | Per-record data APIs | Scraper marketplaces |
|---|---|---|---|
| Getting a key | One POST from the agent. Card later. The balance never expires. | Console sign-up. Their agent file says “ask the user for it”. | Agents may pay by crypto only: $1 minimum, a balance that expires in 14 days. |
| Knowing the price first | estimateOnly returns the exact charge for that call. Free. | “Cost ≈ rows × price per record. Check GET /balance first.” | A spend ceiling you set per run, learned after it ends. |
| A row that does not come back | Refunded per subject, named in coverage with the reason. | “Failed rows are not billed.” Refunds only for their own error, by support email. | Varies per listing. Issue threads titled “Sucked up all my credit”. |
| Where a number came from | measuredAt, capture or cache, confidence, on every subject. | Rows only. | Rows only. |
| Learning the API | One request vocabulary and one response shape across every platform. | “A separate endpoint for each API.” | Thousands of listings, each with its own schema. |

Read from each vendor's public pricing, docs and agent pages on 12 October 2026. Quotes are theirs. Per-record APIs: the prepaid social-data vendors. Marketplaces: hosted scraper catalogues. Named sources on request.

## Pricing

Pay as you go: per record in US dollars. First top-up $5. Prices start at $0.000045 per job. Quotes, balance and history are free. Unused money is kept. Full list: https://apiforagents.dev/pricing.md

## For agents

```
You have access to apiforagents.dev, a public-data API.
1. Read https://apiforagents.dev/llms.txt
2. Register as described in https://apiforagents.dev/auth.md: POST https://apiforagents.dev/agent/identity with {"type":"anonymous"}, exchange the identity_assertion at https://apiforagents.dev/oauth2/token, keep claim_token in memory.
3. Before any paid call, repeat it with "estimateOnly": true and read cost.wouldChargeUsd.
4. On 403 insufficient_scope, start the claim: POST https://apiforagents.dev/agent/identity/claim with the owner's email, show them the user_code and verification_uri, poll the token endpoint. On 402, send top_up_url to the owner and do not retry until the balance rises.
5. Read coverage and notes before data. An omission with reason "not_found" means the handle failed, not that the entity does not exist.
```

More: https://apiforagents.dev/agents.md

## FAQ

### How do I try it with my AI agent?

Copy the starter prompt on the home page into Claude, ChatGPT, Cursor or your own agent. It points the agent at https://apiforagents.dev/auth.md, where it signs itself up in one call with $0.10 free, then at the LinkedIn docs, and asks it to quote before every paid call. No login or card to start.

### Can an AI agent really create an account by itself?

Yes, through the standard agent registration protocol (auth.md). The agent POSTs to /agent/identity and gets an identity with $0.10 of free credit, enough to quote and run its first real calls before anyone logs in. To keep going, it shows a person a six-digit code and a link; the person signs in, types the code and tops up, and from then on the agent acts on their account with its own revocable identity. No console step, no card to start, no sales call. The recipe is at https://apiforagents.dev/auth.md.

### How is it priced?

Pay as you go: per record, in US dollars, with no plan and no subscription. Each platform page lists the price of every record type. The first top-up is $5 and any amount after that. Money you do not use stays on the account.

### What does a call cost before I run it?

Send the same request with estimateOnly set to true. The response carries cost.wouldChargeUsd and charges nothing. Set maxUsd on any call to cap it; the engine refuses rather than overspends.

### What happens when a subject does not come back?

You are not charged for it. The coverage block names the subject and the reason, such as not_found or private_account, and the cost block shows only what was delivered.

### Is the data fresh?

Every subject in the provenance block carries measuredAt and whether it came from a fresh capture or a cached read. Your own answers are free to read again for a day. Ask for freshness fresh when only a new capture will do.

### Which platforms are covered?

All of these, on one key and one balance: LinkedIn, Instagram, YouTube, X, Reddit, TikTok and Facebook; Amazon, Shopify, Farfetch, GOAT and StockX; Blinkit, Swiggy Instamart and Zepto; Indeed, Naukri and Upwork; Google Search, Google Maps, Yelp, Tripadvisor, Airbnb and Booking.com; work email and phone lookup by LinkedIn handle; and raw rows from other public sources.

### Which AI tools does it work with?

Any that can make an HTTP request: Claude, Claude Code, ChatGPT, Cursor, Copilot, Gemini, Windsurf or your own agent. Paste the prompt from https://apiforagents.dev and it reads https://apiforagents.dev/auth.md, signs itself up and calls the REST API. There is no SDK to install and no key to copy.

### What data is off limits?

Anything behind a login. The API reads public pages only, never stores a credential, and never sells data a platform licenses to its own users.
