alpha strikealpha

Integration and operations

API

Every page is backed by an endpoint. Same contract, same fields.

The interface is built on the same API that is published. Responses conform to api/openapi.yaml; no richer internal format exists.

EndpointReturns
GET /api/v1/ip/{ip}Verdict for one address
GET /api/v1/prefix/{cidr}Prefix with providers inside it
GET /api/v1/asn/{asn}Network with provider distribution
GET /api/v1/service/{tag}Provider profile
POST /api/v1/bulkMany addresses, with a summary
GET /api/v1/search?q=Resolve free text to an entity
GET /api/v1/sourcesFeed provenance, licences and freshness — administrators only
GET /api/v1/metaDataset version, counts, coverage

Every response carries its own provenance

  • datasetVersion on every response. Do not interpret a result without it.
  • confidence and evidence accompany every claim.
  • No pre-filtering. The consuming system applies its own threshold.
  • degraded is set when part of the answer could not be produced, so a partial response is identifiable as such.
A lookup with a session cookie
curl -s --cookie 'vpndb_session=...' \
  https://vpndb.example/api/v1/asn/9009 | jq '.attribution[:3]'