VK.watch API
The same data as the site, over HTTP. Buy an API pack, create a key, and pay credits per request.
API pack
$99 API: 2,000 credits, 30 days
- API access opens for 30 days after payment; periods add up.
- Credits are valid for 365 days after purchase; the ones that expire first are spent first.
- API credits are a separate wallet; the site never spends them.
- No API pack? API calls spend site credits at the same prices while site access is active. Handy for testing.
- One-time crypto payment, no automatic renewal.
Limits
- 5 requests per second, bursts up to 20
- Up to 5 active keys per account
- A failed request (4xx/5xx) is refunded
- Every request is charged; fetching the same profile again is charged again
Authentication
Create a key in your account, then send it as a Bearer token. Each response carries the X-Credits-Charged and X-Credits-Remaining headers.
curl -H "Authorization: Bearer $VKWATCH_API_KEY" \ https://api.vk.watch/v1/profile/1
Responses are JSON envelopes {response, meta}. The search response is returned unwrapped.
{
"response": { "id": 1, "profile": { "first_name": "…", "last_name": "…", "city": { "title": "…" } }, "photos": 12, "friends": 341 },
"meta": { "credits": { "charged": 2, "remaining": 1998 } }
}Endpoints
Base URL: https://api.vk.watch/v1
| Route | Returns | Credits |
|---|---|---|
| GET/me | endpoints.notes.balance | 0 |
| GET/profile/{id} | Latest profile snapshot with counts | 2 |
| GET/profile/{id}/changes | Field changes over time | 2 |
| GET/profile/{id}/snapshots | List of stored snapshots | 1 |
| GET/profile/{id}/snapshot/{snapshotId} | One historical snapshot | 2 |
| GET/profile/{id}/friends | Friend list | 2 |
| GET/profile/{id}/photos | Photos | 2 |
| GET/profile/{id}/comments | Comments | 1 |
| GET/profile/{id}/identity | Name and userpic only | 1 |
| GET/search?name=… | Faceted search (a page is 50 results) | 1 |
| POST/lookup | Resolve ids and screen names | 1 |
| GET/geo/search, /geo/resolve, /facets/suggest | Geo and facet helpers (free) | 0 |
| POST/faces (multipart photo) | Face search by photo | 20 |
Machine-readable spec: openapi.json
Try it
Fill in the parameters and send the request from here. It runs through your session and is charged exactly like a key call.
Latest profile snapshot with counts
curl -H "Authorization: Bearer $VKWATCH_API_KEY" \ "https://api.vk.watch/v1/profile/1"
Errors
401 apiKeyRequired / apiKeyInvalid— missing or revoked key402 apiAccessExpired / apiCreditsExhausted— no API access window or not enough credits; nothing is charged404 profileNotFound— unknown profile; nothing is charged429 apiRateLimited— rate limit; retry after a second