---
title: "Extract merchant"
method: POST
path: "/api/merchants/extract"
tags: ["Merchants"]
---

# Extract merchant

`POST /api/merchants/extract`

Extract Merchant from a transaction description

## Request body

- object
  - `description` string, required

## Response `200`

The `merchant` key is not null when we find a positive match to our database. When we could not match a merchant, `merchant` is null and `description_clean` is set to a substring of the original description that our models identified as the relevant entity.

- object
  - `description_clean` string, nullable
  - `merchant` MerchantExtract
    - `categories` MerchantCategory[]
      - `code` string, required
      - `description` string, nullable
      - `slug` string, nullable
    - `confidence` number, nullable
    - `group_id` string
    - `heron_id` string
    - `icon_url` string, url
    - `logo_url` string, url
    - `name` string, nullable
    - `url` string, url, nullable
  - `payment_processor` PaymentProcessor
    - `heron_id` string
    - `icon_url` string, url, nullable
    - `logo_url` string, url, nullable
    - `name` string, nullable
    - `url` string, url, nullable

---

[API](https://skmtc.dev/herondata/apis/heron-data-api.md) · [All operations](https://skmtc.dev/herondata/apis/heron-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/herondata/heron-data-api/revisions/f2e441edece2/schema)
