# Transaction Brand Identifier

> Transaction Brand Identifier is a paid API for AI agents from x402.orthogonal.com, paid per call via x402, $0.03/call, status unknown (last checked 2026-09-13).

Identifies and returns brand/merchant information from a transaction title or description string, optionally enriched with MCC, city, phone, and country context.

## Facts

- Endpoint: GET https://x402.orthogonal.com/brand-dev/v1/brand/transaction_identifier
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/transaction-brand-identifier-b3b1a16b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_z8snknsm5QzIQgiH2gZUe

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability transaction-brand-identifier-b3b1a16b
```

Example prompt: Can you figure out what brand or merchant this transaction belongs to — the description on my statement says 'SQ *MORNING BLOOM' and it was processed in Austin, TX with MCC code 5812?

## When to prefer this

Use this endpoint when you need to identify, enrich, or resolve raw transaction description strings (as they appear on bank statements or card processor records) into recognizable brand or merchant entities. It is especially useful for fintech apps, expense management tools, or financial agents that need to clean up and categorize transaction data. Prefer this over a general web search when you need structured, reliable merchant identification optimized for financial transaction strings rather than freeform brand lookup.

## Known failure modes

- Ambiguous transaction string that cannot be resolved to a single brand — returns low-confidence or no match
- Request timeout if transaction_info is complex and maxSpeed is not set — returns 408 if timeoutMS exceeded
- Unrecognized MCC or invalid country_gl code reducing match accuracy
- Missing transaction_info query parameter resulting in a 400 bad request
- No matching brand found for an obscure or local merchant

## How this service works

Endpoint specially designed for platforms that want to identify transaction data by the transaction title.

## Output

Returns structured brand and merchant information resolved from the transaction description, potentially including the identified brand name, business category, industry classification, and other merchant metadata that helps make sense of raw transaction strings.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "mcc": {
       "type": "string",
       "description": "Optional Merchant Category Code (MCC) to help identify the business category/industry."
      },
      "city": {
       "type": "string",
       "description": "Optional city name to prioritize when searching for the brand."
      },
      "phone": {
       "type": "number",
       "description": "Optional phone number from the transaction to help verify brand match."
      },
      "maxSpeed": {
       "type": "boolean",
       "description": "Optional parameter to optimize the API call for maximum speed. When set to true, the API will skip time-consuming operations for faster response at the cost of less comprehensive data."
      },
      "timeoutMS": {
       "type": "integer",
       "description": "Optional timeout in milliseconds for the request. If the request takes longer than this value, it will be aborted with a 408 status code. Maximum allowed value is 300000ms (5 minutes)."
      },
      "country_gl": {
       "type": "string",
       "description": "Optional country code (GL parameter) to specify the country. This affects the geographic location used for search queries."
      },
      "force_language": {
       "type": "string",
       "description": "Optional parameter to force the language of the retrieved brand data."
      },
      "transaction_info": {
       "type": "string",
       "description": "Transaction information to identify the brand"
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/transaction-brand-identifier-b3b1a16b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.orthogonal.com](https://www.zero.xyz/host/x402.orthogonal.com/llms.txt)
