Skip to main content
POST
/
edge
Collect Automation Intelligence.
curl --request POST \
  --url https://api.fpjs.io/v4/edge \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "headers": [
    {
      "name": "user-agent",
      "value": "Mozilla/5.0 (Local Test Bot)"
    },
    {
      "name": "host",
      "value": "example.com"
    },
    {
      "name": "user-agent",
      "value": "one.example.com"
    },
    {
      "name": "Signature-Agent",
      "value": "\"https://fingerprint.com\""
    },
    {
      "name": "Signature-Input",
      "value": "binding0=(\"@authority\" \"signature-agent\");created=1769022347;keyid=\"KYG4GtgVVPWw3r1AXgM6fYFw5kAvRZiJVxZY1Rsgc3Q\";alg=\"ed25519\";expires=1769022407;tag=\"web-bot-auth\""
    },
    {
      "name": "Signature",
      "value": "binding0=:DLRNY0BDeHGMovOo6flKtY70U+cHa3cKDiEdLm92NGpzR0uj4m7yTHtIZnXLlHFiKjUAUBJIgbcv0HuSt8KaBg==:"
    }
  ],
  "method": "POST",
  "url": "https://example.com/login?foo=bar",
  "ipv4_address": "34.162.244.71"
}
'
{ "event_id": "1758130560902.8tRtrH", "timestamp": 1758130560902, "url": "https://example.com/login?foo=bar", "bot_info": { "category": "ai_agent", "provider": "Fingerprint", "provider_url": "https://fingerprint.com", "name": "Fingerprint Agent", "identity": "signed", "confidence": "high" }, "ip_info": { "v4": { "address": "34.162.244.71", "geolocation": { "accuracy_radius": 20, "latitude": 39.96118, "longitude": -82.99879, "postal_code": "43215", "timezone": "America/New_York", "city_name": "Columbus", "country_code": "US", "country_name": "United States", "continent_code": "NA", "continent_name": "North America", "subdivisions": [ { "iso_code": "OH", "name": "Ohio" } ] }, "asn": "396982", "asn_name": "Google LLC", "asn_network": "34.160.0.0/12", "asn_type": "hosting", "datacenter_result": true, "datacenter_name": "Google Cloud" } }, "proxy": false, "proxy_confidence": "high", "vpn": true, "vpn_confidence": "high", "vpn_methods": { "public_vpn": false, "relay": true } }

Authorizations

Authorization
string
header
required

Add your Secret API Key to the Authorization header using the standard Bearer format: Authorization: Bearer <secret_api_key>

Body

application/json

HTTP request metadata (including the HTTP method, headers and IP address) sent by you (your server) to the Fingerprint API for IP and bot analysis. To improve accuracy, retain as much of the original semantics of the HTTP request as possible. For example, preserve the order of the request headers and their capitalization.

headers
object[]
required

Ordered header entries from the request made to your server. Each entry represents one header line. If one header name appears as multiple lines, send each as a separate item in the array.

Headers that contain authentication details like Cookie or Authorization should be included with their value set to an empty string.

Minimum array length: 1
Examples:
[
  { "name": "host", "value": "example.com" },
  {
    "name": "user-agent",
    "value": "Mozilla/5.0"
  },
  {
    "name": "accept-language",
    "value": "en-US,en;q=0.9"
  }
]
[
  { "name": "host", "value": "example.com" },
  {
    "name": "user-agent",
    "value": "Mozilla/5.0"
  },
  {
    "name": "accept-encoding",
    "value": "gzip"
  },
  {
    "name": "accept-encoding",
    "value": "deflate"
  }
]
method
string
required

HTTP method of the request. Preserve the original HTTP method of the request, including casing.

Examples:

"GET"

"POST"

"PUT"

"PATCH"

"DELETE"

url
string<uri>
required

Absolute URL of the request, without a #fragment suffix. Only HTTP and HTTPS schemes are supported.

Examples:

"http://example.com"

"https://example.com/checkout?method=card"

ipv4_address
string<ipv4>

Client IPv4 address observed by your server.

Examples:

"34.162.244.71"

"3.208.0.3"

"173.56.0.4"

ipv6_address
string<ipv6>

Client IPv6 address observed by your server.

Examples:

"2001:4860:4801:10::1"

"2600:1f42:abcd:5678:9876:fedc:1357:2468"

"2001:4868:85f:1a2b:3c4d:5e6f:7890:abcd"

linked_id
string

A customer-provided id that was sent with the request.

Example:

"somelinkedId"

tags
object

A customer-provided value or an object that was sent with the identification request or updated later.

Response

OK.

IP and bot analysis for a request submitted through the Automation Intelligence API.

event_id
string
required

Unique identifier of the user's request. The first portion of the event_id is a unix epoch milliseconds timestamp.

Example:

"1708102555327.NLOjmg"

timestamp
integer<int64>
required

Timestamp of the event with millisecond precision in Unix time.

Example:

1708102555327

ip_info
object
required

Details about the request IP address. Has separate fields for v4 and v6 IP address versions.

linked_id
string

A customer-provided id that was sent with the request.

Example:

"somelinkedId"

tags
object

A customer-provided value or an object that was sent with the identification request or updated later.

url
string

Page URL from which the request was sent.

Example:

"https://www.example.com/login"

bot_info
object

Extended bot information.

proxy
boolean

IP address was used by a public proxy provider or belonged to a known recent residential proxy

proxy_confidence
enum<string>

Confidence level of the proxy detection. If a proxy is not detected, confidence is "high". If it's detected, can be "low", "medium", or "high".

Available options:
low,
medium,
high
proxy_details
object

Proxy detection details (present if proxy is true)

vpn
boolean

VPN or other anonymizing service has been used when sending the request.

vpn_confidence
enum<string>

A confidence rating for the VPN detection result — "low", "medium", or "high". Depends on the combination of results returned from all VPN detection methods.

Available options:
low,
medium,
high
vpn_methods
object