---
title: "Get categories"
method: POST
path: "/categories/get"
tags: ["plaid"]
---

# Get categories

`POST /categories/get`

Send a request to the `/categories/get` endpoint to get detailed information on categories returned by Plaid. This endpoint does not require authentication.

All implementations are recommended to use the newer `personal_finance_category` taxonomy instead of the older `category` taxonomy supported by this endpoint. The [`personal_finance_category taxonomy` CSV file](https://plaid.com/documents/transactions-personal-finance-category-taxonomy.csv) is available for download and is not accessible via API.

## Request body

- CategoriesGetRequest — CategoriesGetRequest defines the request schema for `/categories/get`

## Response `200`

success

- CategoriesGetResponse — CategoriesGetResponse defines the response schema for `/categories/get`
  - `categories` Category[], required — An array of all of the transaction categories used by Plaid.
    - `category_id` string, required — An identifying number for the category. `category_id` is a Plaid-specific identifier and does not necessarily correspond to merchant category codes.
    - `group` string, required — `place` for physical transactions or `special` for other transactions such as bank charges.
    - `hierarchy` string[], required — A hierarchical array of the categories to which this `category_id` belongs.
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

## Other responses

- `default` — Error response.

## Changes

- **2025-03-26** `09cbc8444913` — 2 warning
  - added the new `CHECK_REPORT_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `CONSUMER_REPORT_ERROR` enum value to the `error_type` response property for the response status `default`
- **2024-09-04** `a2c34406c317` — 5 warning, 1 info
  - added the new `PARTNER_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `SANDBOX_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `TRANSACTIONS_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `TRANSACTION_ERROR` enum value to the `error_type` response property for the response status `default`
  - …2 more
- **2024-02-21** `5de70cc1e6ca` — 3 warning, 12 info
  - removed the optional property `error_code_reason` from the response with the `default` status
  - removed the optional property `provided_account_subtypes` from the response with the `default` status
  - removed the optional property `required_account_subtypes` from the response with the `default` status
  - endpoint reactivated
  - …11 more

[Change history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/categories/get/post.md)

---

[API](https://skmtc.dev/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.dev/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/revisions/5eae3158bbfc/schema)
