API reference

VeritasOSINT API docs

Call /api/v1 with an API key. Workspace search uses your login session and is separate from these public endpoints.

Authentication

Generate a key in Workspace → Settings. Pass it on every request:

x-api-key: vos_••••••••••••
# or
Authorization: Bearer vos_••••••••••••

Your plan must include API access. Admins always have access.

Base URL

https://veritasosint.net/api/v1

Use your production origin in scripts. Do not call internal engine ports directly.

Endpoints

GET/api/v1/search

Search indexed OSINT entities.

  • q (required)Search query (email, username, IP, …)
  • type (optional)auto | email | username | ip | … (default auto)
  • limit (optional)1–100 (default 50)
curl -s "https://your-domain/api/v1/[email protected]" \
  -H "x-api-key: vos_your_key"
GET/api/v1/discord/:id

Discord profile enrichment for a snowflake ID.

curl -s "https://your-domain/api/v1/discord/123456789012345678" \
  -H "x-api-key: vos_your_key"
GET/api/v1/steam/:id

Steam profile enrichment (SteamID64 or vanity).

curl -s "https://your-domain/api/v1/steam/76561198000000000" \
  -H "x-api-key: vos_your_key"
GET/api/v1/ip

IP / network enrichment.

  • q (required)IPv4 or IPv6 address
curl -s "https://your-domain/api/v1/ip?q=1.1.1.1" \
  -H "x-api-key: vos_your_key"
GET/api/v1/email

Email profile enrichment.

  • q (required)Email address
curl -s "https://your-domain/api/v1/[email protected]" \
  -H "x-api-key: vos_your_key"
GET/api/v1/export

Export search results as JSON or CSV (format=json|csv).

  • q (required)Search query
  • type (optional)Identifier type (default auto)
  • format (optional)json | csv (default json)
  • limit (optional)1–100 (default 100)
curl -s "https://your-domain/api/v1/[email protected]&format=csv" \
  -H "x-api-key: vos_your_key" -o results.csv
POST/api/v1/format

Normalize a payload into veritas.entity.v1.

curl -s -X POST "https://your-domain/api/v1/format" \
  -H "x-api-key: vos_your_key" \
  -H "Content-Type: application/json" \
  -d '{"filename":"sample.json","content":"{...}"}'

Errors

401API_KEY_REQUIRED / INVALID_API_KEY

Missing or invalid API key.

403API_ACCESS_DENIED

Your plan does not include API access.

503API_DISABLED

Public API disabled by an administrator.

503MAINTENANCE

Service is in maintenance mode.

Quotas & censorship

Successful searches consume your remaining search quota unless your plan is unlimited. Depending on your plan, some fields may be censored. Response payloads include an access object with remaining searches and plan info where applicable.