---
title: "List vendors"
method: GET
path: "/v1/vendors"
tags: ["Vendors"]
---

# List vendors

`GET /v1/vendors`

## Request

- Base URL: `https://api.frihet.io`
- URL: `https://api.frihet.io/v1/vendors`
- Auth: API key in header `X-API-Key`

Retrieve a paginated list of vendors.

## Query parameters

- `limit` integer
- `offset` integer
- `cursor` string
- `from` string, date
- `to` string, date
- `q` string
- `fields` string

## Response `200`

A paginated list of vendors

- object
  - `data` Vendor[]
    - `id` string: Unique identifier
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `name` string, required: Vendor name (person or company)
    - `email` string, email: Contact email
    - `phone` string: Phone number
    - `taxId` string: Tax identification number (NIF/CIF/VAT)
    - `address` Address: Structured address. Canonical fields are `province` and `zip`. The aliases `state` and `postalCode` are also accepted for backward compatibility.
      - `street` string
      - `city` string
      - `province` string: Province or state (canonical field)
      - `zip` string: Postal/ZIP code (canonical field)
      - `country` string
      - `state` string: Alias for `province` (backward compatibility)
      - `postalCode` string: Alias for `zip` (backward compatibility)
  - `total` integer: Total number of items matching the query
  - `limit` integer: Number of items per page
  - `offset` integer: Current offset
  - `nextCursor` string: Cursor for fetching the next page of results. Only present when there are more results available. Pass this value as the `cursor` query parameter in the next request. Base64url-encoded.
  - `truncated` boolean: Only present (and `true`) when the underlying search query saturated the internal 500-document cap. `total` therefore reports the size of the first 500 matches, not the full match count. Narrow the search query (taxId / fiscal id, exact email) to ensure you see every result.

## Other responses

- `400`: Bad request - invalid parameters or request body
- `401`: Authentication required or invalid API key
- `429`: Rate limit exceeded (100 requests per minute)
- `500`: Internal server error

---

[API](https://skmtc.dev/frihet/apis/frihet-api.md) · [All operations](https://skmtc.dev/frihet/apis/frihet-api/llms.txt) · [OpenAPI document](https://skmtc.dev/frihet/apis/frihet-api/revisions/3dd37f6a72d1?raw)
