---
title: "Get visitor_details"
method: GET
path: "/visitor_details"
tags: ["Visitor details"]
---

# Get visitor_details

`GET /visitor_details`

## Request

- Base URL: `https://taa.data.tidio.com`
- URL: `https://taa.data.tidio.com/visitor_details`
- Auth: API key in header `X-Tidio-Openapi-Client-Id` and API key in header `X-Tidio-Openapi-Client-Secret`

Raw data for visitors.

## Query parameters

- `_unique_id` string
- `visitor_id` string
- `contact_id` string
- `created_at` string
- `visitor_notes` string
- `properties` string
- `_updated_at` string
- `select` string
- `order` string
- `offset` string
- `limit` string, required

## Headers

- `Range` string
- `Range-Unit` string
- `Prefer` 'count=none'

## Response `200`

OK

- object[]
  - `_unique_id` number: Technical field used as primary key of the model.
  - `visitor_id` string: Unique identifier for the visitor.
  - `contact_id` number: Unique identifier for the contact.
  - `project_id` number: Unique identifier for the project.
  - `created_at` string, date-time: Timestamp indicating when the visitor appeared for the first time.
  - `visitor_notes` string: Json containing all the notes added by operators to the conversation with a given visitor.
  - `properties` unknown
  - `_updated_at` string, date-time: Technical timestamp (UTC, NTZ)

## Other responses

- `206`: Partial Content
- `408`: Request Timeout. The query took longer than the database's 25s statement limit -- almost always an unbounded read of a large table. Add a `limit`, narrow the date filter, or page with `Range`/keyset instead of scanning the whole table. `Prefer: count=exact` also forces a full scan; use `count=planned` on the large tables.

---

[API](https://skmtc.dev/tidio/apis/tidio-analytics-api.md) - [All operations](https://skmtc.dev/tidio/apis/tidio-analytics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tidio/apis/tidio-analytics-api/revisions/960021ed741c?raw)
