"Best analytics tool I've used in 14 years"

Get visitor

GET https://datafa.st/api/v1/visitors/{visitorId}

Retrieve the full profile for one visitor: identity, session activity, completed goals, payment events, Identify profile, and conversion prediction. Use the visitorId returned by List visitors or stored in the datafast_visitor_id cookie.

This is the endpoint to call when you need journey context for support, sales, or enrichment — not for bulk exports.

Request

Path parameters

visitorId
string
Alias for datafast_visitor_id on endpoints that accept both names. Visitor UUID from List visitors or the browser cookie.

Query parameters

websiteId
string
Required with a dft_ account token on Website API routes. Omit with a df_ website key. Example: ?websiteId=665f0b3c4d2e1a0012345678.

Example request

GET /api/v1/visitors/a3ab2331-989f-4cfa-91c6-2461c9e3c6bd
Use the UUID from List visitors or the datafast_visitor_id cookie.

Response

Returns a JSON object with status: "success" and endpoint-specific fields in data (and pagination when the endpoint is paginated).

Response fields

data.visitorId
string
Alias for datafast_visitor_id on endpoints that accept both names.
data.identity
object
Location, browser, operating system, device, viewport, and first-session parameters known for the visitor. Location, browser, OS, device, viewport, params, and ad click IDs.
data.activity.visitCount
number
Number of visits.
data.activity.pageViewCount
number
Number of pageviews.
data.activity.timeSinceFirstVisit
number
Milliseconds since this visitor's first known visit.
data.activity.timeSinceCurrentVisit
number
Milliseconds since this visitor's current/latest visit started.
data.activity.firstVisitAt
string|null
Timestamp of the first known visit.
data.activity.lastVisitAt
string|null
Timestamp of the latest known visit.
data.activity.currentUrl
string|null
Latest page URL seen for the visitor. Use it to understand where the visitor was last active before you inspect the full visitor profile.
data.activity.completedGoals
object[]
Custom, payment, free trial, and subscription lifecycle goals.
data.activity.visitedPages
object[]
Visited page timeline.
data.profile
object|null
User profile created by Identify. Present only after the visitor has been linked to your user ID. Identify profile with userId, metadata, and identifiedAt.
data.prediction
object|null
Conversion prediction for the visitor when enough revenue attribution data exists. Conversion prediction. Null for customers or when predictions are unavailable.

Authentication

  • df_ website API key: The website is inferred from the key. You do not need a websiteId query parameter.
  • dft_ account token: Requires analytics:read permission and ?websiteId= on every request. The token must be allowed to access that website.
Read authentication and scopes for token creation, permission lists, and scoped tokens.

Errors

400 — Missing or invalid visitorId (must be a UUID v4), or visitor flagged as a bot.

404 — No pageviews found for this visitor on the authenticated website.

See API errors for the standard error envelope, auth failures, validation errors, permission errors, and rate limits.

✍️ Something missing? Suggest features.

🤖 AI agent or LLM? Read this page as markdown

Example request
curl -X GET "https://datafa.st/api/v1/visitors/{visitorId}" \
  -H "Authorization: Bearer df_xxx"
Success response
{
  "status": "success",
  "data": {
    "visitorId": "a3ab2331-989f-4cfa-91c6-2461c9e3c6bd",
    "identity": {
      "country": "US",
      "browser": { "name": "Chrome" },
      "device": { "type": "desktop" }
    },
    "activity": {
      "visitCount": 3,
      "pageViewCount": 8,
      "completedGoals": [],
      "visitedPages": []
    },
    "profile": {
      "userId": "user_123",
      "metadata": { "plan": "pro" },
      "identifiedAt": "2026-05-21T00:00:00.000Z"
    },
    "prediction": {
      "score": 72,
      "conversionRate": 0.0138,
      "expectedValue": 3.09,
      "confidence": 0.831
    }
  }
}