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

# List vendors

`GET /api/v1/vendors`

## Request

- Base URL: `https://demo.invoiceninja.com`
- URL: `https://demo.invoiceninja.com/api/v1/vendors`
- Auth: none declared. Required headers: `X-API-TOKEN`, `X-Requested-With`
- TypeScript: <https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/docs/api/v1/vendors/get.ts> (a function with typed inputs; its response is checked against the schema)

Lists vendors, search and filters allow fine grained lists to be generated.

    Query parameters can be added to performed more fine grained filtering of the vendors, these are handled by the VendorFilters class which defines the methods available

## Query parameters

- `include` string
- `index` string
- `per_page` integer
- `page` integer
- `sort` string[]

## Headers

- `X-API-TOKEN` string, required
- `X-Requested-With` string, required

## Response `200`

A list of vendors

- object
  - `data` Vendor[]
    - `id` string: The hashed id of the vendor. This is a unique identifier for the vendor.
    - `user_id` string: The hashed id of the user who created the vendor. This is a unique identifier for the user.
    - `assigned_user_id` string: The hashed id of the assigned user to this vendor. This is a unique identifier for the user.
    - `contacts` VendorContact[]: An array of contacts associated with the vendor.
      - `id` string: The hashed id of the vendor contact
      - `user_id` string: The hashed id of the user id
      - `vendor_id` string: The hashed id of the vendor
      - `first_name` string: The first name of the contact
      - `last_name` string: The last name of the contact
      - `contact_key` string: A unique identifier for the contact
      - `confirmation_code` string: The confirmation code used to authenticate the contacts email address
      - `phone` string: The contacts phone number
      - `custom_value1` string: A custom value
      - `custom_value2` string: A custom value
      - `custom_value3` string: A custom value
      - `custom_value4` string: A custom value
      - `email` string: The contact email address
      - `email_verified_at` number: The date which the contact confirmed their email
      - `password` string: The hashed password of the contact
      - `is_primary` boolean: Boolean flag determining if the contact is the primary contact for the vendor
      - `created_at` number: Timestamp
      - `updated_at` number: Timestamp
      - `deleted_at` number: Timestamp
      - `send_email` boolean: Flag indicating whether to send emails to this contact
      - `cc_only` boolean: When true this contact is only included as a CC recipient on outgoing emails and is not addressed directly.
      - `can_sign` boolean: When true this contact is permitted to electronically sign purchase order invitations.
    - `name` string: The name of the vendor.
    - `classification` string: The classification of the vendor.
    - `website` string: The website of the vendor.
    - `private_notes` string: The private notes of the vendor. These notes are only visible to users with appropriate permissions.
    - `industry_id` string: The industry id of the vendor. This is a unique identifier for the industry.
    - `size_id` string: The size id of the vendor. This is a unique identifier for the size of the vendor.
    - `address1` string: The first line of the vendor's address.
    - `address2` string: The second line of the vendor's address.
    - `city` string: The city of the vendor's address.
    - `state` string: The state of the vendor's address.
    - `postal_code` string: The postal code of the vendor's address.
    - `phone` string: The phone number of the vendor.
    - `country_id` string: The country id of the vendor. This is a unique identifier for the country.
    - `currency_id` string: The currency id of the vendor. This is a unique identifier for the currency.
    - `custom_value1` string: The value of the first custom field for the vendor.
    - `custom_value2` string: The value of the second custom field for the vendor.
    - `custom_value3` string: The value of the third custom field for the vendor.
    - `custom_value4` string: The value of the fourth custom field for the vendor.
    - `vat_number` string: The VAT number of the vendor.
    - `id_number` string: The ID number of the vendor.
    - `number` string: The number of the vendor
    - `is_deleted` boolean: Boolean flag determining if the vendor has been deleted
    - `language_id` string: The language id of the vendor. This is a unique identifier for the language.
    - `vendor_hash` string: The vendor hash of the vendor. This is a unique identifier for the vendor.
    - `transaction_name` string: The transaction name of the vendor.
    - `last_login` number: Timestamp
    - `created_at` number: Timestamp
    - `updated_at` number: Timestamp
    - `display_name` string: The display name of the vendor.
    - `is_tax_exempt` boolean: Flag indicating whether the vendor is exempt from taxes
    - `public_notes` string: Notes that are visible to the vendor
    - `routing_id` string: The routing identifier for e-invoicing
  - `meta` Meta
    - `pagination` Pagination
      - `total` integer: The total number of items
      - `count` integer: The number of items per page
      - `per_page` integer: The number of items per page
      - `current_page` integer: The current page number
      - `total_pages` integer: The total number of pages
      - `links` object: The pagination links

## Other responses

- `401`: Authentication error
- `403`: Authorization error
- `422`: Validation error
- `429`: Rate Limit Exceeded
- `5XX`: Server error
- `default`: Unexpected Error

## Changes

- **2026-05-06** `89876e7e51d6`: 1 info
  - added the new optional `query` request parameter `sort`
- **2026-04-20** `69a36036d334`: 2 info
  - added the optional property `data/items/contacts/items/can_sign` to the response with the `200` status
  - added the optional property `data/items/contacts/items/cc_only` to the response with the `200` status
- **2025-11-22** `00ad5cc89fad`: 4 info
  - added the optional property `data/items/contacts/items/send_email` to the response with the `200` status
  - added the optional property `data/items/is_tax_exempt` to the response with the `200` status
  - added the optional property `data/items/public_notes` to the response with the `200` status
  - added the optional property `data/items/routing_id` to the response with the `200` status
- **2025-10-10** `f36c4f94ae7b`: 2 info
  - added the new optional `query` request parameter `page`
  - added the new optional `query` request parameter `per_page`
- **2024-06-06** `8e82a2bd77e0`: 2 breaking, 36 info
  - the response's body type changed from no type to `object` for status `default`
  - the `data/items/` response's property type changed from no type to `object` for status `200`
  - added the optional property `code` to the response with the `default` status
  - added the optional property `data/items/address1` to the response with the `200` status
  - …34 more

[Operation history](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/changes/api/v1/vendors/get.md)

---

[API](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference.md) - [All operations](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/revisions/bcda1f823746?raw)
