List visitors
GET https://datafa.st/api/v1/visitors
Search for visitor IDs by page views, goals, traffic source, device, location, or campaign parameters. Use this endpoint to find matching visitors, then call Get visitor for the full profile, activity timeline, and prediction data.
This endpoint is paginated on purpose — it returns lightweight rows suitable for search and CRM enrichment workflows.
When searching by
completedGoal, results come from journey analytics and lastSeenAt reflects goal completion time rather than the latest pageview.Related: User identification · Revenue prediction
Request
Query parameters
websiteIddft_ account token on Website API routes. Omit with a df_ website key. Example: ?websiteId=665f0b3c4d2e1a0012345678.startAtYYYY-MM-DD for calendar days or an ISO timestamp. Must be provided together with endAt. Example: startAt=2026-05-01.endAtstartAt. Example: endAt=2026-05-21.timezone"America/New_York", "Europe/Paris", "UTC". Defaults to the website timezone when omitted.limit100, maximum 250. Example: limit=50.offset0. Example: offset=100.visitedPage / pagevisitedPage=/pricing or page=/docs/getting-started.visitedPageContains / pageContainsvisitedPageContains=/docs.completedGoal / goalcompletedGoal=signup. Cannot combine with isCustomer or hasRevenue.country, region, citycountry=US,Canada.browser, os, devicedevice=mobile&browser=Chrome.referrer, hostnamereferrer=Google.utm_source, utm_medium, utm_campaign, utm_term, utm_contentutm_source=google&utm_campaign=launch.ref, source, viaref=twitter.isCustomer / hasRevenuetrue or falsetrue) or without (false) payment events. Cannot combine with completedGoal.Example query
GET /api/v1/visitors?visitedPage=/pricing&completedGoal=signup&limit=50&startAt=2026-05-01&endAt=2026-05-21
Returns lightweight rows — call Get visitor for full journey data.
Response
Returns a JSON object with
status: "success" and endpoint-specific fields in data (and pagination when the endpoint is paginated).Response fields
data[].visitorIddatafast_visitor_id on endpoints that accept both names.data[].lastSeenAtdata[].currentUrldata[].identity.countrydata[].identity.regiondata[].identity.citydata[].identity.browserdata[].identity.osdata[].identity.devicedata[].acquisition.*pagination.limitoffset to paginate through long result sets.pagination.offsetlimit for pagination.pagination.totalpagination.hasMoreAuthentication
df_website API key: The website is inferred from the key. You do not need awebsiteIdquery parameter.dft_account token: Requiresanalytics:readpermission 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 — Unsupported query parameter,
limit above 250, invalid isCustomer/hasRevenue value, combining completedGoal with isCustomer/hasRevenue, or using didNotCompleteGoal/goalNot (not supported).404 — Website not found.
See API errors for the standard error envelope, auth failures, validation errors, permission errors, and rate limits.