curl --request GET \
--url https://api.aws53.cloud/v1/data \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.aws53.cloud/v1/data"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.aws53.cloud/v1/data', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aws53.cloud/v1/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aws53.cloud/v1/data"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aws53.cloud/v1/data")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aws53.cloud/v1/data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"email": "visitor@example.test",
"emailHash": "b4fc5fb69efd3d88836a56aa432758b35b3ee9a4e30848f5d8f5f66209cd2822",
"emailHashes": {
"sha256": "b4fc5fb69efd3d88836a56aa432758b35b3ee9a4e30848f5d8f5f66209cd2822",
"sha1": "e5f6d0c61a56c87aa2e870e8ffd7ce552cd88366",
"md5": "b6321d878decf6402a73283b5f41c0e6"
},
"emails": [
"visitor@example.test"
],
"businessEmails": [
"visitor@example.test"
],
"personalEmails": [],
"visitStatus": "seen_before",
"backAfter30Days": true,
"phones": [],
"phonesDnc": null,
"firstName": null,
"lastName": null,
"middleName": null,
"fullName": null,
"emailDomain": "example.test",
"allEmails": [
"visitor@example.test"
],
"primaryPhone": null,
"allPhones": null,
"phonesDNC": null,
"ageRange": null,
"gender": null,
"hasChildren": null,
"isHomeowner": null,
"isMarried": null,
"personalAddress": null,
"personalZip": null,
"city": null,
"state": null,
"country": null,
"countryCode": null,
"personalTimezone": null,
"companyName": null,
"companyDomain": null,
"companyLinkedinUrl": null,
"companyAddress": null,
"companyCity": null,
"companyState": null,
"companyCountry": null,
"companyZipCode": null,
"companyEmployeeCount": null,
"companyTotalRevenue": null,
"companySizeRange": null,
"companyRevenueRange": null,
"jobTitle": null,
"headline": null,
"seniority": null,
"seniorityLevel2": null,
"seniorityLevelRaw": null,
"department": null,
"department2": null,
"departmentRaw": null,
"industry": null,
"linkedinUrl": null,
"photoUrl": null,
"linkedinUrn": null,
"skillsSummary": null,
"photoB2Url": null,
"companyLogoB2Url": null,
"company": null,
"companyZip": null,
"companySize": null,
"companySizeCategory": null,
"companyRevenue": null,
"companyIndustry": null,
"seniorityRaw": null,
"sessions": 1,
"pageviews": 1,
"pricingPageViews": 0,
"demoPageViews": 0,
"checkoutPageViews": 0,
"enrichmentLevel": "email_only",
"enrichmentScore": 0,
"intentScore": "low",
"firstSeenAt": "2026-09-13T00:00:00Z",
"lastSeenAt": "2026-09-13T00:00:00Z",
"firstSeen": "2026-09-13T00:00:00Z",
"lastSeen": "2026-09-13T00:00:00Z",
"daysSinceVisit": 0,
"landingPage": "https://www.example.test/",
"visitedPages": [
"https://www.example.test/"
],
"referrer": null,
"referrerDomain": null,
"utmSource": null,
"utmMedium": null,
"utmCampaign": null,
"utmTerm": null,
"utmContent": null,
"gclid": null,
"fbclid": null,
"googleGbraid": null,
"googleWbraid": null,
"googleGadSource": null,
"googleCampaignId": null,
"bingClickId": null,
"linkedinClickId": null,
"klaviyoTrackingId": null,
"hubspotAccountId": null,
"hubspotCampaignId": null,
"hubspotNetwork": null,
"msclkid": null,
"liFatId": null,
"gbraid": null,
"wbraid": null,
"channel": null,
"pixels": [
"11111111-1111-4111-8111-111111111111"
],
"pixelId": "11111111-1111-4111-8111-111111111111",
"pixelDetails": [
{
"id": "11111111-1111-4111-8111-111111111111",
"name": "Example Pixel",
"domain": "www.example.test"
}
],
"domains": [
"www.example.test"
],
"customAttribution": null
}
],
"meta": {
"page": 1,
"limit": 50,
"total": 1,
"totalPages": 1,
"hasMore": false,
"asOf": "2026-09-13T00:00:00Z",
"pixelId": null,
"coverage": {
"partial": false
}
}
}Query visitor data via API key
Returns resolved identified-person data for the organization owning the X-API-Key. Requires person-data API permission for that organization. Without email, the operation returns 50 people per one-based page, ordered by canonical identity hash ascending; with email, it returns that person plus a session journey and summary. Identity aliases are represented as one person. timeframe supports today, 24h, 3d, 7d, 14d, 30d, mtd, 90d, ytd, and all; reads return a request-time asOf and historical-coverage metadata. Separate page requests resolve their own time boundary. domain and pixelId are alternative scope mechanisms and cannot be combined. Each visitor includes nullable visitStatus (new or seen_before) and backAfter30Days, based on the latest qualifying session and earlier recorded organization-wide history, including other pixels and known aliases. These are recorded-visit badges, not manual lead statuses or proof of no untracked visits. List mode accepts either or both history filters; omit them for all, false excludes unknowns, and filters combine with AND before pagination and totals. History filters cannot be combined with email (400), but the journey visitor still returns both badges. A later qualifying visit or identity correction can change the badges. Existing firstSeenAt and session-summary metrics keep their meanings. The read is rate-limited per API key; use the response rate-limit headers for pacing. Recent events and enrichment changes may appear after a short processing delay. Dedicated admin API credentials also authorize platform-wide management, including white-label targets; customer bearer/API-key restrictions described above remain unchanged. Existing resource validation and business-state rules still apply.
curl --request GET \
--url https://api.aws53.cloud/v1/data \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.aws53.cloud/v1/data"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.aws53.cloud/v1/data', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aws53.cloud/v1/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aws53.cloud/v1/data"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aws53.cloud/v1/data")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aws53.cloud/v1/data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"email": "visitor@example.test",
"emailHash": "b4fc5fb69efd3d88836a56aa432758b35b3ee9a4e30848f5d8f5f66209cd2822",
"emailHashes": {
"sha256": "b4fc5fb69efd3d88836a56aa432758b35b3ee9a4e30848f5d8f5f66209cd2822",
"sha1": "e5f6d0c61a56c87aa2e870e8ffd7ce552cd88366",
"md5": "b6321d878decf6402a73283b5f41c0e6"
},
"emails": [
"visitor@example.test"
],
"businessEmails": [
"visitor@example.test"
],
"personalEmails": [],
"visitStatus": "seen_before",
"backAfter30Days": true,
"phones": [],
"phonesDnc": null,
"firstName": null,
"lastName": null,
"middleName": null,
"fullName": null,
"emailDomain": "example.test",
"allEmails": [
"visitor@example.test"
],
"primaryPhone": null,
"allPhones": null,
"phonesDNC": null,
"ageRange": null,
"gender": null,
"hasChildren": null,
"isHomeowner": null,
"isMarried": null,
"personalAddress": null,
"personalZip": null,
"city": null,
"state": null,
"country": null,
"countryCode": null,
"personalTimezone": null,
"companyName": null,
"companyDomain": null,
"companyLinkedinUrl": null,
"companyAddress": null,
"companyCity": null,
"companyState": null,
"companyCountry": null,
"companyZipCode": null,
"companyEmployeeCount": null,
"companyTotalRevenue": null,
"companySizeRange": null,
"companyRevenueRange": null,
"jobTitle": null,
"headline": null,
"seniority": null,
"seniorityLevel2": null,
"seniorityLevelRaw": null,
"department": null,
"department2": null,
"departmentRaw": null,
"industry": null,
"linkedinUrl": null,
"photoUrl": null,
"linkedinUrn": null,
"skillsSummary": null,
"photoB2Url": null,
"companyLogoB2Url": null,
"company": null,
"companyZip": null,
"companySize": null,
"companySizeCategory": null,
"companyRevenue": null,
"companyIndustry": null,
"seniorityRaw": null,
"sessions": 1,
"pageviews": 1,
"pricingPageViews": 0,
"demoPageViews": 0,
"checkoutPageViews": 0,
"enrichmentLevel": "email_only",
"enrichmentScore": 0,
"intentScore": "low",
"firstSeenAt": "2026-09-13T00:00:00Z",
"lastSeenAt": "2026-09-13T00:00:00Z",
"firstSeen": "2026-09-13T00:00:00Z",
"lastSeen": "2026-09-13T00:00:00Z",
"daysSinceVisit": 0,
"landingPage": "https://www.example.test/",
"visitedPages": [
"https://www.example.test/"
],
"referrer": null,
"referrerDomain": null,
"utmSource": null,
"utmMedium": null,
"utmCampaign": null,
"utmTerm": null,
"utmContent": null,
"gclid": null,
"fbclid": null,
"googleGbraid": null,
"googleWbraid": null,
"googleGadSource": null,
"googleCampaignId": null,
"bingClickId": null,
"linkedinClickId": null,
"klaviyoTrackingId": null,
"hubspotAccountId": null,
"hubspotCampaignId": null,
"hubspotNetwork": null,
"msclkid": null,
"liFatId": null,
"gbraid": null,
"wbraid": null,
"channel": null,
"pixels": [
"11111111-1111-4111-8111-111111111111"
],
"pixelId": "11111111-1111-4111-8111-111111111111",
"pixelDetails": [
{
"id": "11111111-1111-4111-8111-111111111111",
"name": "Example Pixel",
"domain": "www.example.test"
}
],
"domains": [
"www.example.test"
],
"customAttribution": null
}
],
"meta": {
"page": 1,
"limit": 50,
"total": 1,
"totalPages": 1,
"hasMore": false,
"asOf": "2026-09-13T00:00:00Z",
"pixelId": null,
"coverage": {
"partial": false
}
}
}Authorizations
Headers
Optional tenant context for admin-key operations without an organization target, such as creating an organization. Defaults to the master tenant. Must match an explicit target organization when both are supplied. Does not limit the key’s platform authority.
1 - 100Target organization for admin-key requests on organization-context routes, including Data API, intent audiences and dashboard routes without an organization path parameter. Required on those routes. When supplied with an organization path parameter, both must identify the same organization; conflicting targets return 400. Does not grant access to customer credentials.
Query Parameters
Status of the latest qualifying session in the selected period. new means it starts at this person's first recorded visit to the organization; seen_before means an earlier recorded visit exists, including outside the selected period or pixel. Known email aliases share history. This is recorded history, not proof of no untracked visits. Null means unavailable or inconsistent history, or the viewer lacks organization-wide pixel access. Existing firstSeen and returning-visitor metrics are unchanged. List mode only: omit for all; applied before pagination and totals.
new, seen_before "new"
True when the latest qualifying session starts at least 30 full 24-hour days after the most recent recorded activity in an earlier non-bot session for this person in this organization. Earlier visits on other pixels or outside the selected period and rule filters still count. False means a known first visit or a shorter gap. Null means insufficient or inconsistent recorded history, or restricted pixel access. This is an additional badge, not a replacement for visitStatus; unknown history is never treated as inactivity. List mode only: use the literal query value true or false; omit for all. False excludes unknowns. Combined with visitStatus using AND, before pagination and totals.
true, false "true"
Was this page helpful?