Authentication
Authenticate API requests with a Venym Search API key. API-key routes are separate from Clerk browser sessions: send the Venym key as a Bearer credential, not as a Clerk JWT.
API key based
One header on Search and Scrape requests.
TLS only
Use the HTTPS production hostname.
Revocable
Create and delete keys from your dashboard.
The only API-key syntax
Use
Authorization: Bearer <your-api-key>. There is no colon after Bearer, and the API does not accept a raw key without the Bearer scheme.Required Header
HTTP Authorization headercURL
Authorization: Bearer VENYM_SEARCH_API_KEYProduction keys are created in the dashboard and should be stored in a server-side environment variable such as VENYM_SEARCH_API_KEY. Never put a live key in browser JavaScript or source control.
Authenticated Request
Search request with Bearer authentication
curl -X POST https://search.venym.io/api/v1/search \
-H "Authorization: Bearer $VENYM_SEARCH_API_KEY" \
-H "Content-Type: application/json" \
--data '{"query":"test search","max_results":1}'Validate a Key
Validation is free and does not consume credits. It returns the key status, plan, and current balance.
GET /api/v1/validatecURL
curl https://search.venym.io/api/v1/validate \
-H "Authorization: Bearer $VENYM_SEARCH_API_KEY"Invalid Credentials
An invalid or missing key returns 401. It is never treated as a Clerk session token and never returns a generic authentication crash.
401 responseJSON
{
"error": "Invalid or missing API key",
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key",
"request_id": "req_abc123",
"timestamp": "2026-08-29T12:00:00.000Z",
"documentation_url": "https://search.venym.io/docs/errors"
}Operational checklist
- • Use the canonical HTTPS origin
https://search.venym.io. - • Send exactly one
Authorization: Bearer <your-api-key>header. - • Check
response.okand preserverequest_idfor support. - • Keep API keys on your server and rotate them from the dashboard.