Docs/Sources/BIN Grounding Data for AI Agents

BIN Grounding Data for AI Agents

Lookup BIN Number Information

OperationalCredits 10 per callp50 228msFinance

Overview

A BIN lookup API with a free plan: send the first six to eight digits of a card as the bin parameter. The API resolves the BIN against payment card records and returns the card network, card type, issuing bank name and issuing country, plus the number rules for that scheme: valid card lengths, whether the Luhn check applies, and the security code name and size. Paid plans add the card category, the issuer phone and website where the bank has published them, ISO alpha-2, alpha-3 and numeric country codes, the country currency and flag, and coordinates.

Live Test BIN Grounding Data for AI Agents Source →

The tool

Once your client is connected to the VerveContext server, this appears in its tool list as BINGroundingDataforAIAgents. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.

Tool call
{
  "name": "BINGroundingDataforAIAgents",
  "arguments": {
    "bin": "448590"
  }
}

You do not name the tool yourself; the model picks it. Asking about 448590 in the terms this source covers is enough for it to reach for BINGroundingDataforAIAgents on its own — naming it explicitly also works, and is the way to force the call.

Connecting

One server URL covers every source in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.

{
  "mcpServers": {
    "vervecontext": {
      "url": "https://api.vervecontext.com/v1/mcp"
    }
  }
}

Per-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.

Arguments

These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.

ArgumentTypeDescription
binRequiredstringThe first six digits of the credit card number (BIN)
length 6–8
ipOptionalstringOptional IP address of the customer paying with the card. When given, customerIp says which country the IP is in and whether it matches the country that issued the card
ip

What the model gets back

The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.

Result
{
  "status": "ok",
  "error": null,
  "data": {
    "bin": "448590",
    "brand": "VISA",
    "type": "CREDIT",
    "category": "PURCHASING",
    "country": "UNITED STATES",
    "issuer": {
      "name": "JPMORGAN CHASE BANK N.A. - COMMERCIAL",
      "country": "UNITED STATES",
      "phone": null,
      "website": null
    },
    "location": {
      "latitude": "37.0902",
      "longitude": "-95.7129",
      "alpha2": "US",
      "alpha3": "USA",
      "numeric": "840",
      "currency": "USD",
      "currencies": [
        "USD"
      ],
      "flag": "🇺🇸",
      "isEU": false,
      "isEEA": false,
      "isSEPA": false
    },
    "number": {
      "scheme": "visa",
      "lengths": [
        16,
        18,
        19
      ],
      "luhn": true,
      "code": {
        "name": "CVV",
        "size": 3
      }
    },
    "customerIp": null
  }
}

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
binstring448590The BIN number provided in the request
brandstringVISACard brand (VISA, Mastercard, American Express, etc.)
typestringCREDITCard type (CREDIT or DEBIT)
categoryPremiumstringPURCHASINGCard category (PURCHASING, TRAVEL, etc.)
countrystringUNITED STATESCountry where card was issued
issuerobject{…}The issuing bank: name, country, phone and website
issuer.namestringJPMORGAN CHASE BANK N.A. - COMMERCIALFull name of the issuing bank
issuer.countryPremiumstringUNITED STATESCountry where issuer is located
issuer.phonePremiumobjectnullContact phone number of the issuer
issuer.websitePremiumobjectnullOfficial website URL of the issuer
locationobject{…}Issuing country coordinates and ISO codes
location.latitudePremiumstring37.0902Latitude coordinate of issuer location
location.longitudePremiumstring-95.7129Longitude coordinate of issuer location
location.alpha2PremiumstringUSTwo-letter ISO country code of location
location.alpha3PremiumstringUSAThree-letter ISO country code of location
location.numericPremiumstring840ISO 3166-1 numeric code of the issuing country (e.g. 208 for Denmark)
location.currencyPremiumstringUSDISO 4217 code of the issuing country's currency (e.g. DKK), or null when the country uses more than one
location.currenciesPremiumarray["USD"]Every ISO 4217 currency code in use in the issuing country
location.flagPremiumstring🇺🇸Flag emoji of the issuing country
location.isEUbooleanfalseWhether the issuing country is an EU member state
location.isEEAbooleanfalseWhether the issuing country is in the European Economic Area (the EU plus Iceland, Liechtenstein and Norway)
location.isSEPAbooleanfalseWhether the issuing country is in the Single Euro Payments Area (SEPA), per the European Payments Council
numberobject{…}Card number rules for the scheme this BIN belongs to, or nulls if the prefix matches no single scheme
number.schemestringvisaMachine-readable scheme id matched from the BIN prefix (visa, mastercard, american-express, discover, jcb, unionpay, etc.)
number.lengthsarray[16,18,19]Valid card number lengths for the scheme, in digits (e.g. [16, 18, 19] for Visa)
number.luhnbooleantrueWhether card numbers in this scheme are checked with the Luhn checksum (false for UnionPay, where it is not guaranteed)
number.codeobject{…}Security code the scheme uses
number.code.namestringCVVName of the security code (CVV, CVC, CID, etc.)
number.code.sizenumber3Number of digits in the security code
customerIpPremiumobjectnullWhere the customer IP passed in ip is, compared with the card's issuing country. A card used from a different country than the one that issued it is a common fraud signal. Null when no ip is sent

Why ground on it

A model can produce something that looks like this answer from its training data, and be confidently out of date or simply wrong. This source returns the current value in a shape you can check, which is the difference between an answer you can cite and one you have to hedge.

Point an evaluation at brand: it is the field most worth pinning a claim to, and it is either present and current or absent — never plausibly invented.

Failure modes

Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.

StatusWhat it means
400 / 422The arguments did not validate. The message names the offending one.
401The OAuth session is invalid or expired — reconnect the server.
403Blocked by a key restriction or an IP allow-list. Never a bad identity.
404This source is not part of VerveContext. Check the catalog.
429Out of credits, or a brief rate limit. The message tells them apart.

A call costs 10 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.

Use cases

Checkout Brand Detection
Display the matching Visa or Mastercard logo automatically when customers type the first six digits into your checkout form.
Debit vs Credit Routing
Apply different fees, limits or review rules to debit and credit cards before you run the authorization.
Debit Fee Optimization
Route transactions through lower-cost debit payment rails whenever the lookup confirms an incoming debit card.
Billing Country Mismatch
Flag suspicious orders for manual review if the card issuing country does not match the customer billing address.

Other ways to use BIN Grounding Data for AI Agents

Set up BIN Grounding Data for AI Agents on VerveContext, or reach the same source a different way. Your VerveContext account and credits work on all of them — one key, one balance.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →
Give it to an AI agentConnect over MCP and your agent calls it as a native tool — Claude, Cursor, ChatGPT.VerveKit →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →

More in Finance:

Was this page helpful?