vlayervlayer docs
Conventions and errors

Conventions

Base URL, authentication, the response envelope, pagination and rate limits shared by every Social Data API route.

Base URL and authentication

Your base URL comes with your credentials; the examples write it as {API_BASE_URL}. Send your API token as a Bearer token on every request:

curl {API_BASE_URL}/campaigns \
  -H "Authorization: Bearer <API_TOKEN>"

A missing or invalid token returns 401. Routes under /admin/ need a token with admin rights and return 403 otherwise.

The routes for issuing and revoking tokens are in the Tokens reference.

Response envelope

Successful responses wrap the result in data. List routes add pagination:

{
  "data": [ ... ],
  "pagination": { "page": 1, "limit": 20, "total": 150 }
}

Errors return an error code and a human-readable message. Branch on error; message may be reworded.

{ "error": "NOT_FOUND", "message": "Campaign 42 not found" }

Routes that read a post or profile can also return the codes listed in Data lookup errors.

Pagination

List routes accept page (default 1) and limit (default 20). The campaigns and likers lists cap limit at 100.

Limits

LimitValueWhen you exceed it
Requests per IP address200 per minute429 RATE_LIMITED
Post metrics refreshOnce per challenge every 5 minutes429 RATE_LIMITED
Post check (/admin/posts/thumbnail)10 per post per 5 minutes, 100 per caller per minute429 RATE_LIMITED
Likers refresh10 per minute429 RATE_LIMITED
Likers refresh maxCount1 to 5000, default 1000
limit on the campaigns and likers lists100
Webhook response timeAny 2xx within 10 secondsThe delivery is retried; see Webhooks
Comments refreshUp to 500 pages of comments per callThe rest is filled in afterwards; see historyComplete on Comments

Every 429 carries a Retry-After header. Wait for it instead of polling. 429 SCRAPING_RATE_LIMITED is different: the platform side is throttling reads, not your own usage; see Data lookup errors.

Parameter tables and schemas for every route are in the API reference.

Last updated on