🔍 Overview

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.

Here are a few things to know about the Transaction API:

  • Transaction as 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.
  • Global coverage: 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.
  • Keeping the data fresh: The cached data may not be provided or displayed to more than one user. If you’re looking to enrich large datasets, and be notified of any changes with Webhooks, please get in touch.

If you have custom requirements, or any questions contact us or book a call.

🔓 Create an account

Before getting started, 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.

📊 API quotas and usage

When you sign up for a free developer account, you get 100 free requests.

If you need to make more requests, please upgrade to a paid plan. When upgrading, you can confirm your quota by looking at the x-api-key-quota response header. To see your current month’s usage, look for the x-api-key-approximate-usage response header.

We will also send you an email warning you upon reaching 80% of your quota. The API will return an HTTP status code 429 when the quota has been reached.

In addition to a usage quota we also apply a request throughput limit to protect our service from error and abuse. By default, throughput is limited to 1000 requests/second with some flexibility to accommodate bursts. You’ll receive an HTTP status code 429 when you exceed this limit. Contact us if your use-case requires higher throughput limits.

📈 Overage billing

When you purchase a subscription plan, you are allotted a quota depending on the payment plan. When you make more API requests than your quota allows, rather than blocking requests which are over your quota, we apply overage billing. This means that you’ll never have any unexpected downtime. Requests over your quota are charged at an overage-fee rate. To set a spending limit, head to the Developer Dashboard and set a hard spending limit. Set this to $0 if you want to disable overage. Further details on the mechanics of overage are available here.

Overage billing is not available on the free plan. To start using overage, please upgrade first to one of the paid plans.

🔑 Authentication

Authentication is done by passing your API key as a Bearer Authentication. The Transaction API can be accessed through the following structure:

Authorization: Bearer <API_Key>

💳 Pricing

Our pricing is based on the number of API calls you make with each request giving you access to all attributes of a brand.

📚 API reference

Check out our API Reference for more details on the Transaction API.