GET /
Returns the machine-readable documentation this page is rendered from. Free, and everything an agent needs.
byAPI3FreeAirnode v0.1.4
VPNAPI.io answers, for one IP address, whether it belongs to a VPN, a proxy, a Tor node or a private relay, and returns the address's approximate location and the network it sits in alongside. This Airnode wraps the single lookup the API offers, so a consumer receives the verdict with a signature saying this Airnode obtained it from VPNAPI.io at this time. Detection is a judgement rather than a measurement, and VPNAPI.io revises it as its own data changes, so what a signature binds is what the provider said about the address at that instant.
Every response carries an EIP-191 signature from the Airnode that served it, so the data can be attributed back to its source rather than trusted on reputation.
Ask the Hub what VPNAPI.io can tell you →Served at https://airnode-vpnapi.fly.dev/. Each operation is reached the way the provider documents it, under https://airnode-vpnapi.fly.dev/api, and answers with the provider's own response and the attestation in headers, so a client built against the provider works unchanged. The same operations are also served as one JSON envelope on POST /, which the HTTP interface covers. Every request below can be sent from this page, and what comes back is verified right here in the browser.
Returns the machine-readable documentation this page is rendered from. Free, and everything an agent needs.
The provider's own requests, one per operation, forwarded as they are. The provider's response comes back untouched, with the attestation in the X-Airnode headers.
Whether one IP address is a VPN, proxy, Tor node or private relay, with its location and network alongside.
Paste a response to verify it originates from the current Airnode: the JSON a POST / answers with, or a passthrough response with its headers, as curl --include prints it.