Cloudflare Trace

App · Utilities · 4 actions

Trace a request through Cloudflare's network with its free, keyless trace endpoint: get the public IP address and country Lodol calls out from, the Cloudflare data center that answers, and the HTTP and TLS versions and time Cloudflare saw. Check whether any website is served through Cloudflare and which data center answers for it, and look up Cloudflare's data centers with their city, country, region and current status from its status page. No account or API key required.

Actions

ActionWhat it does
Check a site for CloudflareCheck whether a website is served through Cloudflare by asking it for Cloudflare's trace page, which only sites on Cloudflare have.
Get a data centerLook up one of Cloudflare's data centers by its three-letter code, such as the one a trace or a site check names, and get its city, country, region and current status from Cloudflare's status page.
List data centersList Cloudflare's data centers, more than 300 around the world, with their city, country, region and current status from Cloudflare's status page, in order of city.
Run a traceTrace a request from Lodol to Cloudflare's network and get what Cloudflare saw: the public IP address it came from and that address's country, the Cloudflare data center that answered, the HTTP and TLS versions and key exchange used, and the time.

Check a site for Cloudflare

Check whether a website is served through Cloudflare by asking it for Cloudflare's trace page, which only sites on Cloudflare have. Returns which data center answered, the Ray ID and Server header, and the trace itself when the site shows it. A site that refuses its trace is still recognised by Cloudflare's headers, and redirects are followed, so a domain that forwards to its www address is checked there. No API key required.

Inputs

SitesitetextRequired
The website to check: its domain, such as example.com, or any address on it, such as https://www.example.com/pricing. Only its host is used, over https unless the address starts http://.

Outputs

data_centertext
The code of the Cloudflare data center that answered, e.g. 'SJC', or null when the site is not on Cloudflare.
detected_bytext
'trace' when the site answered with Cloudflare's trace, 'headers' when it refused or replaced the trace but answered with Cloudflare's CF-RAY or Server header, or null when it is not on Cloudflare.
hosttext
The host that gave the answer, after any redirects, e.g. 'www.canva.com'.
on_cloudflaretrue/false
Whether the host that answered is served through Cloudflare.
ray_idtext
Cloudflare's Ray ID for the request, e.g. 'a426a631ca79e418-SJC', which Cloudflare support asks for; null when the site is not on Cloudflare.
redirectedtrue/false
Whether the site redirected the check to another address.
servertext
The answer's Server header, e.g. 'cloudflare', 'CloudFront' or 'Vercel', which often names who serves a site that is not on Cloudflare; null when there is none.
sitetext
The site's host as given, in lower case, e.g. 'canva.com'.
status_codenumber
The HTTP status of the answer, e.g. 200, or 403 when the site refuses its trace.
traceobject
The trace the site answered with, in the same fields as Run a trace, or null when it did not answer with one.
Example output
{
  "data_center": "SJC",
  "detected_by": "trace",
  "host": "example.com",
  "on_cloudflare": true,
  "ray_id": "a426c7c389f30c97-SJC",
  "redirected": false,
  "server": "cloudflare",
  "site": "example.com",
  "status_code": 200,
  "trace": {
    "browser_isolation": "off",
    "country": "US",
    "data_center": "SJC",
    "fields": {
      "colo": "SJC",
      "fl": "1232f86",
      "gateway": "off",
      "h": "example.com",
      "http": "http/1.1",
      "ip": "203.0.113.7",
      "kex": "X25519MLKEM768",
      "loc": "US",
      "rbi": "off",
      "sliver": "050-tier1",
      "sni": "plaintext",
      "tls": "TLSv1.3",
      "ts": "1790640789.000",
      "uag": "LodolCloudflareTraceIntegration/1.0 (+https://www.lodol.ai; contact: support@skipflow.ai)",
      "visit_scheme": "https",
      "warp": "off"
    },
    "gateway": "off",
    "host": "example.com",
    "http_version": "http/1.1",
    "ip": "203.0.113.7",
    "ip_version": 4,
    "key_exchange": "X25519MLKEM768",
    "scheme": "https",
    "server_instance": "1232f86",
    "sliver": "050-tier1",
    "sni": "plaintext",
    "time": "2026-09-29T00:13:09Z",
    "timestamp": 1790640789,
    "tls_version": "TLSv1.3",
    "user_agent": "LodolCloudflareTraceIntegration/1.0 (+https://www.lodol.ai; contact: support@skipflow.ai)",
    "warp": "off"
  }
}

Get a data center

Look up one of Cloudflare's data centers by its three-letter code, such as the one a trace or a site check names, and get its city, country, region and current status from Cloudflare's status page. No API key required.

Inputs

Data centerdata_centertextRequired
The data center's three-letter code, such as SJC for San Jose or FRA for Frankfurt, as the data center field of a trace or a site check gives it.

Outputs

data_centerobject
A Cloudflare data center, as its status page lists it.
Example output
{
  "data_center": {
    "city": "San Jose",
    "code": "SJC",
    "country": "United States",
    "country_code": "US",
    "name": "San Jose, CA, United States",
    "region": "North America",
    "state": "CA",
    "status": "operational",
    "updated_at": "2026-02-10T19:37:00.000Z"
  }
}

List data centers

List Cloudflare's data centers, more than 300 around the world, with their city, country, region and current status from Cloudflare's status page, in order of city. Optionally only one region or country, those whose name contains some text, or only those operational or not. No API key required.

Inputs

Regionregiontext
Only data centers in this region, as Cloudflare's status page groups them.One of: africa, asia, europe, latin_america (Latin America & the Caribbean), middle_east (Middle East), north_america (North America), oceania.
Countrycountrytext
Only data centers in this country: its two-letter code, such as DE, or its name as Cloudflare writes it, such as Germany. Hong Kong and Macau go by name or code; Taipei and Kaohsiung City are TW, and Ramallah is PS.
Statusstatustext
Only data centers with this status now. Anything but operational finds those under maintenance or with problems.One of: operational, not_operational (Anything but operational), under_maintenance (Under maintenance), degraded_performance (Degraded performance), partial_outage (Partial outage), major_outage (Major outage).
Searchsearchtext
Only data centers whose city, state, country or code contains this, ignoring case and accents, such as frankfurt or sao paulo.

Outputs

countnumber
How many data centers match.
data_centerslist
The data centers that match, in order of city. Empty when none do.
Example output
{
  "count": 6,
  "data_centers": [
    {
      "city": "Berlin",
      "code": "TXL",
      "country": "Germany",
      "country_code": "DE",
      "name": "Berlin, Germany",
      "region": "Europe",
      "state": null,
      "status": "operational",
      "updated_at": "2026-07-02T12:26:12.000Z"
    },
    {
      "city": "D\u00fcsseldorf",
      "code": "DUS",
      "country": "Germany",
      "country_code": "DE",
      "name": "D\u00fcsseldorf, Germany",
      "region": "Europe",
      "state": null,
      "status": "operational",
      "updated_at": "2026-03-25T03:39:53.000Z"
    },
    {
      "city": "Frankfurt",
      "code": "FRA",
      "country": "Germany",
      "country_code": "DE",
      "name": "Frankfurt, Germany",
      "region": "Europe",
      "state": null,
      "status": "operational",
      "updated_at": "2026-01-14T23:53:53.000Z"
    },
    {
      "city": "Hamburg",
      "code": "HAM",
      "country": "Germany",
      "country_code": "DE",
      "name": "Hamburg, Germany",
      "region": "Europe",
      "state": null,
      "status": "operational",
      "updated_at": "2026-08-26T15:50:27.000Z"
    },
    {
      "city": "Munich",
      "code": "MUC",
      "country": "Germany",
      "country_code": "DE",
      "name": "Munich, Germany",
      "region": "Europe",
      "state": null,
      "status": "operational",
      "updated_at": "2026-03-10T02:19:35.000Z"
    },
    {
      "city": "Stuttgart",
      "code": "STR",
      "country": "Germany",
      "country_code": "DE",
      "name": "Stuttgart, Germany",
      "region": "Europe",
      "state": null,
      "status": "operational",
      "updated_at": "2026-09-18T03:46:36.000Z"
    }
  ]
}

Run a trace

Trace a request from Lodol to Cloudflare's network and get what Cloudflare saw: the public IP address it came from and that address's country, the Cloudflare data center that answered, the HTTP and TLS versions and key exchange used, and the time. Useful for finding the address to allow in a firewall. Choose IPv4, IPv6 or either. No API key required.

Inputs

IP versionip_versiontext
Which kind of address to trace from: IPv4 (the default), IPv6, or either, as the network prefers. IPv6 fails when Lodol's servers have no IPv6 route.One of: ipv4, ipv6, either (Either, as the network prefers). Default: ipv4.

Outputs

browser_isolationtext
'on' when the request came from Cloudflare Browser Isolation, otherwise 'off'.
countrytext
The two-letter code of the country Cloudflare places that address in, e.g. 'US'.
data_centertext
The three-letter code of the Cloudflare data center that answered, e.g. 'SJC'. Get a data center takes it.
fieldsobject
Every line of the trace as Cloudflare sent it, under Cloudflare's own short names (fl, h, ip, ts, colo, loc, kex and so on), including any Cloudflare adds later.
gatewaytext
'on' when the request came through Cloudflare Gateway, otherwise 'off'.
hosttext
The host name the request asked for, e.g. '1.1.1.1'.
http_versiontext
The HTTP version used: 'http/1.1', 'http/2' or 'http/3'.
iptext
The public IP address the request came from, e.g. '203.0.113.7'.
ip_versionnumber
4 or 6: which kind of address that is.
key_exchangetext
How the TLS keys were agreed, e.g. 'X25519MLKEM768', which resists quantum computers, or 'X25519'; 'none' over plain http.
schemetext
'https' or 'http'.
server_instancetext
Which Cloudflare server answered, e.g. '464f191'.
slivertext
Which of Cloudflare's gradual release groups served the request, e.g. '010-tier1', or 'none'.
snitext
How the host name was sent when connecting: 'plaintext', 'encrypted', or 'off' when none was sent, as when asking an IP address.
timetext
When Cloudflare answered, as an ISO 8601 time in UTC, e.g. '2026-09-28T23:53:58Z'.
timestampnumber
When Cloudflare answered, in whole seconds since 1970.
tls_versiontext
The TLS version used, e.g. 'TLSv1.3', or 'off' over plain http.
user_agenttext
The User-Agent the request sent.
warptext
'on' or 'plus' when the request came through Cloudflare WARP, otherwise 'off'.
Example output
{
  "browser_isolation": "off",
  "country": "US",
  "data_center": "SJC",
  "fields": {
    "colo": "SJC",
    "fl": "466f114",
    "gateway": "off",
    "h": "1.1.1.1",
    "http": "http/1.1",
    "ip": "203.0.113.7",
    "kex": "X25519MLKEM768",
    "loc": "US",
    "rbi": "off",
    "sliver": "none",
    "sni": "off",
    "tls": "TLSv1.3",
    "ts": "1790640788.000",
    "uag": "LodolCloudflareTraceIntegration/1.0 (+https://www.lodol.ai; contact: support@skipflow.ai)",
    "visit_scheme": "https",
    "warp": "off"
  },
  "gateway": "off",
  "host": "1.1.1.1",
  "http_version": "http/1.1",
  "ip": "203.0.113.7",
  "ip_version": 4,
  "key_exchange": "X25519MLKEM768",
  "scheme": "https",
  "server_instance": "466f114",
  "sliver": "none",
  "sni": "off",
  "time": "2026-09-29T00:13:08Z",
  "timestamp": 1790640788,
  "tls_version": "TLSv1.3",
  "user_agent": "LodolCloudflareTraceIntegration/1.0 (+https://www.lodol.ai; contact: support@skipflow.ai)",
  "warp": "off"
}

On this page