canonical: https://jentic.com/apis/adyen.com/adyen-bin-lookup

# Adyen BinLookup API

The Adyen BIN Lookup API resolves card BIN (Bank Identification Number) data into actionable information for routing and authentication decisions before a payment is created. Two endpoints cover the core needs: POST /get3dsAvailability returns the 3D Secure version supported by the issuing bank for a given BIN, and POST /getCostEstimate returns Adyen's interchange and scheme fee estimate for a card. Use the API at the front of a checkout flow to choose the right authentication path and to surface processing-cost estimates to internal pricing logic.

## For AI agents

Look up 3D Secure version availability and processing cost estimates for a card BIN before creating a payment.

## Scope

Does not handle payment creation, 3DS authentication itself, or settlement - use for pre-checkout BIN-level 3DS and cost lookups only.

## Capabilities

- Determine which 3D Secure version (3DS1, 3DS2) the issuing bank supports for a card BIN via POST /get3dsAvailability
- Retrieve a processing cost estimate for a card via POST /getCostEstimate to feed dynamic pricing logic
- Decide checkout authentication routing - frictionless 3DS2, challenge, or fallback - before payment creation
- Authenticate with an X-API-Key header or basic auth credentials issued in the Adyen Customer Area
- Pair with Adyen Checkout to inform PaymentMethodsRequest and PaymentRequest with BIN-driven decisions

## Use cases

### Pre-Checkout 3D Secure Routing

Modern checkouts choose between 3DS2 frictionless, 3DS2 challenge, and 3DS1 fallback based on what the issuer supports. POST /get3dsAvailability returns that information for a given BIN before the customer commits to checkout, so the front end can configure the payment session correctly the first time and avoid an unnecessary fallback round-trip.

Example prompt: Call POST /get3dsAvailability with the cardNumber prefix (BIN) and merchantAccount, then use the threeDSecure flag to configure the Checkout session

### Dynamic Pricing Based on Processing Cost

Some merchants pass interchange-style cost differentials onto the customer or use them in margin analysis. POST /getCostEstimate returns Adyen's estimate of the interchange and scheme fee for a specific card, which a pricing engine can use to surface a different price for premium cards or to gate certain payment methods.

Example prompt: Call POST /getCostEstimate with the cardNumber prefix and amount, then pass the returned costEstimateAmount into the merchant's pricing engine

### Issuer-Aware Checkout Optimisation

Combining the 3DS availability and cost estimate calls lets a checkout decide more than just the auth flow - whether to suppress particular issuers from the wallet shortlist, whether to upsell to a different funding source, or whether to prompt for a fallback method. Both endpoints are inexpensive POSTs that complete before the payment is created.

Example prompt: Call POST /get3dsAvailability and POST /getCostEstimate in parallel for the entered card, then choose a paymentMethod to highlight in the checkout UI

### Agent-Driven BIN Decisioning via Jentic

A checkout-orchestration agent can use Jentic to call BIN Lookup before committing a Checkout request. Jentic resolves both operations from intent search, executes them with credentials managed in your Jentic One instance, and returns the structured response for the agent to feed into its routing decision.

Example prompt: Use Jentic to search for '3d secure availability for a card', execute POST /get3dsAvailability with the BIN, and chain the result into a PaymentMethodsRequest call to Adyen Checkout

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /get3dsAvailability | Return 3D Secure version availability for a card BIN |
| POST | /getCostEstimate | Return processing cost estimate for a card BIN |

## Key resources

- **3DS availability** — POST /get3dsAvailability - supported 3DS version for a BIN
- **Cost estimate** — POST /getCostEstimate - interchange and scheme fee estimate

## Why Jentic

- **Setup:** Wiring the Adyen BinLookup API by hand means handling its X-API-Key or basic auth and targeting the classic PAL host for pre-checkout 3DS and cost checks. Through Jentic you install once, import the BinLookup API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** BinLookup takes the card BIN in the request body rather than a resource id in the URL path, so you limit the agent to the operations it needs, such as checking 3DS availability or estimating cost. Because you pick the operations, this surface exposes only those two read-style lookups.
- **Credential handling:** Your Adyen X-API-Key and basic auth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as '3d secure availability for a card' or 'card processing cost estimate', and Jentic returns the matching BinLookup operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Adyen Checkout API** — The downstream API that consumes BIN Lookup results to create payments
- **Stripe** — Stripe handles 3DS routing and cost transparently inside its Payment Intents API
- **Braintree** — Braintree Cards API offers comparable card-level metadata for routing decisions

## FAQ

### What authentication does the Adyen BIN Lookup API use?

The API supports an apiKey scheme using the X-API-Key header and HTTP basic auth with a Customer Area username and password. Through Jentic, the X-API-Key is stored in the encrypted vault so agents call /get3dsAvailability and /getCostEstimate without holding the raw credential.

### Can I look up the issuing bank for a card BIN with this API?

The API focuses on actionable lookups - 3D Secure version availability and processing cost estimate - rather than returning a generic issuer profile. For pure issuer-name lookups, Adyen exposes other data inside the Checkout flow's payment methods response.

### What are the rate limits for the Adyen BIN Lookup API?

The OpenAPI spec does not declare programmatic rate limits. Adyen documents per-merchant-account throughput limits in their developer portal; for high-volume checkouts, cache 3DS availability results per BIN for the session rather than calling on every keystroke.

### How do I check 3D Secure availability through Jentic?

Search Jentic for '3d secure availability for a card', load the POST /get3dsAvailability operation, and execute it with the card BIN and merchantAccount. Jentic returns the structured response so the agent can drive the next Checkout step.

### Should I call BIN Lookup on every keystroke or once per checkout?

Call once when the BIN is fully entered and stable (typically the first 6-8 digits). Calling on every keystroke wastes calls and risks triggering rate limits without changing the answer.

### Can I limit what my agent is allowed to do with the Adyen BIN Lookup API?

Yes. Because Jentic One is self-hosted, your own rules decide which operations and credentials the agent may use, so you can grant it just one of the two BIN Lookup calls, POST /get3dsAvailability or POST /getCostEstimate, or both. Since BIN Lookup takes the card BIN in the request body rather than a resource id in the URL path, the surface you expose is limited to those read-style lookups you pick. Your Adyen X-API-Key or basic auth credentials are injected at execution time and never enter the agent's prompt or logs.
