Skip to main content
The Transaction API identifies merchant brands from raw transaction data in a single call. It processes unstructured payment text, maps it to a domain, and returns brand details (e.g., name, logo, domain, industry, etc.). For more details, refer to our API Reference. Transaction API works in real-time to recognize merchants worldwide. If a brand is not part of our dataset, it will index the information live, providing data for brands of every size, geography, or sector.

Implementation guide

1

Get your API key

You’ll need to create an account on our Developer Portal. Creating an account is quick and easy, and will give you access to your dashboard where you’ll find your API key.
Building an agent that runs without a human in the loop? Skip the account: pay per request with x402 or MPP, or buy standing access with prepaid credits.
2

Make your first API call

Implement or run the code below to make your first API request.
Authentication is done by passing your API key as a Bearer Authentication.
3

Test and deploy

Once you are ready to go live, replace the example transactionLabel with the raw descriptors from your bank or card feed, and set countryCode to the country where each transaction took place.

Transaction input

The primary input for querying the Transaction API is a raw transaction descriptor (the line-item text on a bank or credit card statement). You provide this as the transactionLabel in the request body, along with a countryCode to narrow down the merchant’s locale. For example, a transaction label like "STARBUCKS 1523 OMAHA NE" with country code "US" can be resolved to starbucks.com.

Quotas and usage

Requests to the Transaction API count as Brand fetches, the shared usage unit across the Brand API, Brand Context API, and Transaction API. A single quota pool covers all three, so requests are deducted from the same balance regardless of which endpoint you call. A request paid for on its own, with x402 or MPP, costs $0.10 and is not counted against any quota. As with an API key, only 200 and 404 responses are charged, but a paid request is not charged for a 404 marked x-bf-error: crawl_queued: we have started collecting that brand, and a retry shortly after, with the same payment, is usually served it.

API Reference

For more details, refer to our API Reference.