---
updatedAt: 2026-08-27T13:50:24.000Z
agentTools:
  projectIndex: https://developers.tidio.com/llms.txt
---

# Get visitor_details

Raw data for visitors.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "description": "This is a dynamic API generated by PostgREST",
    "title": "TIDIO Analytics API",
    "version": "14.4"
  },
  "externalDocs": {
    "description": "PostgREST Documentation",
    "url": "https://postgrest.org/en/v14/references/api.html"
  },
  "servers": [
    {
      "url": "https://taa.data.tidio.com"
    }
  ],
  "tags": [
    {
      "name": "Visitor details"
    }
  ],
  "security": [
    {
      "ClientId": [],
      "ClientSecret": []
    }
  ],
  "paths": {
    "/visitor_details": {
      "get": {
        "tags": [
          "Visitor details"
        ],
        "summary": "Get visitor_details",
        "description": "Raw data for visitors.",
        "parameters": [
          {
            "name": "_unique_id",
            "description": "Technical field used as primary key of the model.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "visitor_id",
            "description": "Unique identifier for the visitor.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contact_id",
            "description": "Unique identifier for the contact.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at",
            "description": "Timestamp indicating when the visitor appeared for the first time.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "visitor_notes",
            "description": "Json containing all the notes added by operators to the conversation with a given visitor.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "properties",
            "description": "Json containing all the information about the visitor or the contact, e.g. first name, last name country, email. Includes also custom contact properties associated with the visitor or the contact.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_updated_at",
            "description": "Technical timestamp (UTC, NTZ)",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "select",
            "description": "Filtering Columns",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "description": "Ordering",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Range",
            "description": "Limiting and Pagination",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Range-Unit",
            "description": "Limiting and Pagination",
            "required": false,
            "in": "header",
            "schema": {
              "default": "items",
              "type": "string"
            }
          },
          {
            "name": "offset",
            "description": "Limiting and Pagination",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "description": "Maximum rows to return. Pre-filled with 100 to keep the request fast. The API applies no implicit limit -- an unbounded query against a large table exceeds the 25s statement timeout and returns 408, so raise this in steps and page rather than clearing it.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string",
              "default": "100",
              "example": "100"
            },
            "example": "100"
          },
          {
            "name": "Prefer",
            "description": "Preference",
            "required": false,
            "in": "header",
            "schema": {
              "enum": [
                "count=none"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "description": "Raw data for visitors.",
                    "properties": {
                      "_unique_id": {
                        "description": "Technical field used as primary key of the model.",
                        "type": "number",
                        "x-postgres-format": "numeric"
                      },
                      "visitor_id": {
                        "description": "Unique identifier for the visitor.",
                        "type": "string",
                        "x-postgres-format": "text"
                      },
                      "contact_id": {
                        "description": "Unique identifier for the contact.",
                        "type": "number",
                        "x-postgres-format": "numeric"
                      },
                      "project_id": {
                        "description": "Unique identifier for the project.",
                        "type": "number",
                        "x-postgres-format": "numeric"
                      },
                      "created_at": {
                        "description": "Timestamp indicating when the visitor appeared for the first time.",
                        "format": "date-time",
                        "type": "string"
                      },
                      "visitor_notes": {
                        "description": "Json containing all the notes added by operators to the conversation with a given visitor.",
                        "type": "string",
                        "x-postgres-format": "text"
                      },
                      "properties": {
                        "description": "Json containing all the information about the visitor or the contact, e.g. first name, last name country, email. Includes also custom contact properties associated with the visitor or the contact.",
                        "x-postgres-format": "jsonb"
                      },
                      "_updated_at": {
                        "description": "Technical timestamp (UTC, NTZ)",
                        "format": "date-time",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            }
          },
          "206": {
            "description": "Partial Content"
          },
          "408": {
            "description": "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.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "detail": {
                      "type": "string",
                      "example": "Request to database timed out after 25s. Please adjust your query."
                    }
                  }
                }
              }
            }
          }
        },
        "x-readme": {
          "code-samples": [
            {
              "language": "curl",
              "name": "Fetch rows (keyset paging)",
              "code": "# Next page: append &_unique_id=gt.<last _unique_id from this page>\ncurl \"https://taa.data.tidio.com/visitor_details?select=_unique_id,visitor_id,contact_id,created_at,visitor_notes&order=_unique_id.asc&limit=500\" \\\n  -H \"X-Tidio-Openapi-Client-Id: $TIDIO_CLIENT_ID\" \\\n  -H \"X-Tidio-Openapi-Client-Secret: $TIDIO_CLIENT_SECRET\""
            }
          ]
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ClientId": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Tidio-Openapi-Client-Id"
      },
      "ClientSecret": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Tidio-Openapi-Client-Secret"
      }
    }
  },
  "x-readme": {
    "samples-languages": [
      "curl"
    ]
  }
}
```