> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fuseai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# The deanonymized visitor feed

> The deanonymized visitor feed for the token owner's team (the Website Intent screen): `type=companies` returns one row per visiting company, `type=people` one row per identified person. Both feeds return the same row shape — company details, the identified person when there is one, the visit count, the last visit date (YYYY-MM-DD) and the resolver's confidence (high, moderate, low) — with null wherever a value is unknown. The feed is all-time, paged (pageSize up to 100, page up to 10000) and sorted by last visit by default; `search` matches the company name (companies) or the person's name (people). Needs website tracking to be set up: an account with no tracking record answers 404. Rate limit: 30 requests per minute, 2000 per day.

Errors:
- `404` `WEBSITE_TRACKING_NOT_SET_UP` — This account has no website-tracking record (no Webtraffic entry, or the caller resolves to no team owner) — set website tracking up in the app first.
- `422` `VALIDATION_FAILED` — The request failed validation: `type` is missing or is not people/companies, or a query parameter is outside its declared values or bounds. Unknown query parameters are ignored, not rejected.
- `429` `RATE_LIMITED` — Per-user quota for this endpoint family exceeded (30 per minute, 2000 per day); retry after the Retry-After / RateLimit-Reset seconds.

Requires one of the following token scopes: intent.



## OpenAPI

````yaml /openapi.json get /business/website-visitors
openapi: 3.1.0
info:
  title: Fuse Business API
  version: 1.0.0
  description: >-
    External API for lists, campaigns, prospect search and contacts.
    Authenticate with your API token as HTTP Basic. All paths are under /api/v1.
servers:
  - url: https://api.tryfuse.ai/api/v1
    description: Production
security:
  - basicAuth: []
tags:
  - name: Lists
  - name: Custom columns
  - name: Smart columns
  - name: Exports
  - name: Campaigns
  - name: Knowledge hubs
  - name: Analytics
  - name: Website intent
  - name: Account
  - name: Prospect search
  - name: Campaign steps
  - name: Scheduled sends
  - name: Campaign templates
  - name: Agents
  - name: Research
  - name: Company search
  - name: Saved searches
  - name: Folders
  - name: Contacts
paths:
  /business/website-visitors:
    get:
      tags:
        - Website intent
      summary: The deanonymized visitor feed
      description: >-
        The deanonymized visitor feed for the token owner's team (the Website
        Intent screen): `type=companies` returns one row per visiting company,
        `type=people` one row per identified person. Both feeds return the same
        row shape — company details, the identified person when there is one,
        the visit count, the last visit date (YYYY-MM-DD) and the resolver's
        confidence (high, moderate, low) — with null wherever a value is
        unknown. The feed is all-time, paged (pageSize up to 100, page up to
        10000) and sorted by last visit by default; `search` matches the company
        name (companies) or the person's name (people). Needs website tracking
        to be set up: an account with no tracking record answers 404. Rate
        limit: 30 requests per minute, 2000 per day.


        Errors:

        - `404` `WEBSITE_TRACKING_NOT_SET_UP` — This account has no
        website-tracking record (no Webtraffic entry, or the caller resolves to
        no team owner) — set website tracking up in the app first.

        - `422` `VALIDATION_FAILED` — The request failed validation: `type` is
        missing or is not people/companies, or a query parameter is outside its
        declared values or bounds. Unknown query parameters are ignored, not
        rejected.

        - `429` `RATE_LIMITED` — Per-user quota for this endpoint family
        exceeded (30 per minute, 2000 per day); retry after the Retry-After /
        RateLimit-Reset seconds.


        Requires one of the following token scopes: intent.
      operationId: listWebsiteVisitors
      parameters:
        - name: type
          in: query
          required: true
          description: >-
            Which feed to return: `people` (identified visitors, one row per
            person) or `companies` (visiting companies, one row per company);
            the feed is all-time, not windowed.
          schema:
            type: string
            enum:
              - people
              - companies
            description: >-
              Which feed to return: `people` (identified visitors, one row per
              person) or `companies` (visiting companies, one row per company);
              the feed is all-time, not windowed.
        - name: page
          in: query
          required: false
          description: 1-based page number, 1 to 10000 (default 1).
          schema:
            type: integer
            minimum: 1
            maximum: 10000
            default: 1
            description: 1-based page number, 1 to 10000 (default 1).
        - name: pageSize
          in: query
          required: false
          description: Rows per page, 1 to 100 (default 20).
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
            description: Rows per page, 1 to 100 (default 20).
        - name: search
          in: query
          required: false
          description: >-
            Free text, 1 to 200 characters; there is no vocabulary to look up.
            Matched as a case-insensitive substring against exactly one column:
            the person's name when `type=people`, the company name when
            `type=companies` — the people feed never matches a company name, so
            searching a company there returns 0 rows. The value is interpolated
            into a SQL LIKE pattern without escaping, so `%` and `_` act as
            wildcards (`search=%` matches every row). Rows whose name was never
            resolved are excluded from both feeds whether or not `search` is
            sent. A value that matches nothing is not an error: the response is
            200 with an empty `visitors` array.
          schema:
            type: string
            minLength: 1
            maxLength: 200
            description: >-
              Free text, 1 to 200 characters; there is no vocabulary to look up.
              Matched as a case-insensitive substring against exactly one
              column: the person's name when `type=people`, the company name
              when `type=companies` — the people feed never matches a company
              name, so searching a company there returns 0 rows. The value is
              interpolated into a SQL LIKE pattern without escaping, so `%` and
              `_` act as wildcards (`search=%` matches every row). Rows whose
              name was never resolved are excluded from both feeds whether or
              not `search` is sent. A value that matches nothing is not an
              error: the response is 200 with an empty `visitors` array.
        - name: sortBy
          in: query
          required: false
          description: >-
            Field to sort the feed by (default lastVisitDate); `count` is the
            visit count and `name` the identified person's name.
          schema:
            type: string
            enum:
              - lastVisitDate
              - count
              - companyName
              - name
              - companySize
              - companyIndustry
              - department
              - location
              - confidenceInterval
            default: lastVisitDate
            description: >-
              Field to sort the feed by (default lastVisitDate); `count` is the
              visit count and `name` the identified person's name.
        - name: sortOrder
          in: query
          required: false
          description: Sort direction, asc or desc (default desc).
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
            description: Sort direction, asc or desc (default desc).
      responses:
        '200':
          description: Success
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: Requests permitted in the current window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the current window resets.
          content:
            application/json:
              schema:
                type: object
                properties:
                  visitors:
                    type: array
                    items:
                      type: object
                      properties:
                        companyName:
                          type:
                            - string
                            - 'null'
                        companyWebsite:
                          type:
                            - string
                            - 'null'
                        companyIndustry:
                          type:
                            - string
                            - 'null'
                        companySize:
                          type:
                            - string
                            - 'null'
                        companyLinkedin:
                          type:
                            - string
                            - 'null'
                        personName:
                          type:
                            - string
                            - 'null'
                        personLinkedin:
                          type:
                            - string
                            - 'null'
                        department:
                          type:
                            - string
                            - 'null'
                        location:
                          type:
                            - string
                            - 'null'
                        count:
                          type: integer
                        lastVisitDate:
                          type:
                            - string
                            - 'null'
                        confidenceInterval:
                          type:
                            - string
                            - 'null'
                          enum:
                            - high
                            - moderate
                            - low
                            - null
                        page:
                          type:
                            - string
                            - 'null'
                      required:
                        - companyName
                        - companyWebsite
                        - companyIndustry
                        - companySize
                        - companyLinkedin
                        - personName
                        - personLinkedin
                        - department
                        - location
                        - count
                        - lastVisitDate
                        - confidenceInterval
                        - page
                  pagination:
                    type: object
                    properties:
                      total:
                        type: integer
                      page:
                        type: integer
                      pageSize:
                        type: integer
                      totalPages:
                        type: integer
                    required:
                      - total
                      - page
                      - pageSize
                      - totalPages
                required:
                  - visitors
                  - pagination
              example:
                visitors:
                  - companyName: Rivian
                    companyWebsite: rivian.com
                    companyIndustry: Transportation
                    companySize: 10000+
                    companyLinkedin: https://www.linkedin.com/company/rivian
                    personName: null
                    personLinkedin: null
                    department: software
                    location: united states
                    count: 624
                    lastVisitDate: '2026-08-25'
                    confidenceInterval: low
                    page: null
                  - companyName: u.s. department of health and human services (hhs)
                    companyWebsite: hhs.gov
                    companyIndustry: Healthcare
                    companySize: 10000+
                    companyLinkedin: https://www.linkedin.com/company/hhsgov
                    personName: April Bowen
                    personLinkedin: linkedin.com/in/april-bowen-worsley-6b156a32
                    department: manufacturing
                    location: united states
                    count: 212
                    lastVisitDate: '2026-08-23'
                    confidenceInterval: moderate
                    page: /pricing
                pagination:
                  total: 2875
                  page: 1
                  pageSize: 20
                  totalPages: 144
        '400':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - basicAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            param:
              type:
                - string
                - 'null'
            doc_url:
              type:
                - string
                - 'null'
            request_id:
              type:
                - string
                - 'null'
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        Your API token (`af_…`) as the Basic-auth username, with an empty
        password.

````