Skip to content
VK.watch

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

RouteReturnsCredits
GET/meendpoints.notes.balance0
GET/profile/{id}Latest profile snapshot with counts2
GET/profile/{id}/changesField changes over time2
GET/profile/{id}/snapshotsList of stored snapshots1
GET/profile/{id}/snapshot/{snapshotId}One historical snapshot2
GET/profile/{id}/friendsFriend list2
GET/profile/{id}/photosPhotos2
GET/profile/{id}/commentsComments1
GET/profile/{id}/identityName and userpic only1
GET/search?name=…Faceted search (a page is 50 results)1
POST/lookupResolve ids and screen names1
GET/geo/search, /geo/resolve, /facets/suggestGeo and facet helpers (free)0
POST/faces (multipart photo)Face search by photo20

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.

Sign in or sign up to send requests

  • 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 key
  • 402 apiAccessExpired / apiCreditsExhausted — no API access window or not enough credits; nothing is charged
  • 404 profileNotFound — unknown profile; nothing is charged
  • 429 apiRateLimited — rate limit; retry after a second

Need higher limits, bulk exports or a custom agreement? Email b2b@vk.watch .