# Support
source: https://developer.mastercard.com/bin-lookup/documentation/support/index.md

## FAQ {#faq}

### General {#general}

The BIN Lookup API provides data for all Mastercard and Maestro BIN account ranges:

* **Mastercard account ranges:** 222100--272099 / 510000--559999
* **Maestro account ranges:** 639000--639099 / 670000--679999

Cards from other networks with first digits outside of these ranges are not covered by the Mastercard BIN Lookup API.
The Mastercard BIN Lookup service supports a wide range of use cases, including but not limited to:

* **Transaction Routing:** Enabling optimized routing decisions based on card type or funding source.
* **Fraud Prevention:** Enhancing fraud models to minimize false declines.
* **Transaction Eligibility:** Determining card suitability for specific use cases, such as prepaid or domestic-only cards.
* **Benefit Eligibility:** Verifying card eligibility for benefits like rewards, based on issuer or region.
* **Analytics:** Facilitating insights based on card types, product codes, or other attributes.

**Note:** The Mastercard BIN Lookup API provides the most up-to-date and accurate BIN data on Mastercard account ranges. Data sourced from non-certified third parties may be incomplete, outdated, or both, leading to increased fraud risks, incorrect decision-making, false declines, and customer dissatisfaction.
The Mastercard BIN Lookup API is accessible to any stakeholder in the payment ecosystem, including but not limited to:

* Merchants
* Payment companies processing Mastercard transactions
* Payment facilitators, gateways, and orchestrators
* ISVs, POS, and terminal providers
* Companies advising merchants on fraud prevention or payment optimization
The Mastercard BIN Lookup API service is available globally.

**Note:** Availability will be restricted in any sanctioned countries.

### Onboarding and Plans {#onboarding-and-plans}

The Mastercard BIN Lookup API is open to Mastercard customers. A CID and ICA is required for billing. Refer to the [onboarding checklist](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/onboarding-checklist/index.md) for more information.
* Full access to the complete set of [BIN data elements](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/data-elements/api-data-elements/index.md#account-range-data)
* Filtering capabilities
* Option to use single BIN lookup calls or full data download
1. Create a project in Mastercard Developers.
2. Provide a CID and ICA for billing. Refer to the [onboarding checklist](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/onboarding-checklist/index.md) for more information.
3. Agree to the click through Service Agreement.
4. Select **Standard Plan** when creating your project or contact the BIN Lookup team or your Mastercard representative for assistance.
5. After verifying the information you provided, the BIN Lookup team will generate an invoice.
6. Standard Plan access will be granted upon payment of the invoice.
For pricing details, contact your assigned Account Manager or send a query to [DBN.BinTableResource.Support@mastercard.com](mailto:DBN.BinTableResource.Support@mastercard.com). Reselling or redistributing the Mastercard BIN data to third parties is not permitted under the Standard Plan. The Mastercard BIN Lookup API provides the most up-to-date and accurate BIN data on Mastercard account ranges. Data sourced from non-certified third parties may be incomplete, outdated, or both, leading to increased fraud risks, incorrect decision-making, false declines, and customer dissatisfaction.
1. Complete your integration and testing in the sandbox environment.
2. Choose a [plan](https://developer.mastercard.com/bin-lookup/documentation/pricing-plans/index.md) that suits your requirements (Standard or Acquirer Sponsored).
3. Ensure you have a CID (Customer ID) and ICA (Interbank Card Association Number) for billing. See the [Onboarding Checklist](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/onboarding-checklist/index.md).
4. Request production access by creating or updating your project on Mastercard Developers and selecting your plan.
5. The BIN Lookup team will verify your information and initiate billing setup.
6. Once approved, update your integration to use the production base URL: `https://api.mastercard.com/bin-resources`.

For questions or if timelines are exceeded, contact the team at [DBN.BinTableResource.Support@mastercard.com](mailto:DBN.BinTableResource.Support@mastercard.com).

### Data and Coverage {#data-and-coverage}

The Simplified BIN Account Range Table (SBART) file provides a static alternative to the API, free of charge, updated daily. Refer to [Free Plan - SBART File](https://developer.mastercard.com/bin-lookup/documentation/pricing-plans/free-plan/index.md) for more information. Compared to the SBART file, API Premium Plans include additional fields such as:

* `binNum`
* `binLength`
* `country.code`
* `country.name`
* `localUse`
* `authorizationOnly`
* `governmentRange`
* `nonReloadableIndicator`
* `anonymousPrepaidIndicator`
* `fundingSource`
* `consumerType`
* `cardholderCurrencyIndicator`
* `billingCurrencyDefault`
* `smartDataEnabled`
* `affiliate`
* `comboCardIndicator`
* `flexCardIndicator`
* `paymentAccountType`
* `gamblingBlockEnabled`
* `moneySendIndicator`
* `fastFundIndicator`

Additional endpoint-specific fields may also be available (for example, `operation` in Delta API responses).

For full field definitions, see [API Data Elements](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/data-elements/api-data-elements/index.md#account-range-data) and [SBART Data Elements](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/data-elements/sbart-data-elements/index.md).
* **API**: Data is updated every 24 hours at 12:35 AM CST.
* **SBART**: Data is updated every 24 hours at 12:35 AM CST. The date of the last upload is available alongside the download link.
BIN Lookup displays the true owner of the account range, typically the sponsor. In cases where an affiliate uses an account range, the **Affiliate** field is updated with the name of the issuing entity appearing on the card. Yes, the API supports filtered searches based on various parameters like region, product code, and issuer. Refer to the [Filtering Tutorial](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/filtering-tutorial/index.md) for more information. The `localUse` flag identifies whether cards within an account range may be used outside of the country of issuance. You can download a list of issuers in CSV format. See [Issuer List](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/data-elements/api-data-elements/index.md#issuer-list). You can view a list of all product codes in the [API Data Elements](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/data-elements/api-data-elements/index.md#product-codes) section. If you believe you spotted incorrect BIN data, provide the following information to the Support team at [DBN.BinTableResource.Support@mastercard.com](mailto:DBN.BinTableResource.Support@mastercard.com):

* Account range (first 8 digits of the card)
* Description of the discrepancy and expected outcome
* Confirmation of checks on other cards with the same BIN
* Any steps required to reproduce the issue
These are valid Mastercard account ranges with accurate acceptance brands and brand products. They are labeled this way to indicate to our Mastercard system that these transactions need to be routed to the Mastercard Debit System.

### Integration and Troubleshooting {#integration-and-troubleshooting}

The BIN Lookup API uses synthetic monitoring to continuously verify that the API is available and functioning as expected. This information is publicly available, allowing you to check uptime and review any recent issues. Check the [status page](https://developer.mastercard.com/api-status) to view this information. The API uses OAuth 1.0a for secure authentication. Customers can manage authentication keys in their Mastercard Developers Dashboard. Refer to the [API Basics](https://developer.mastercard.com/bin-lookup/documentation/api-basics/index.md#api-security) section for best practices. Yes, a [sandbox environment](https://developer.mastercard.com/bin-lookup/documentation/api-basics/index.md#environments) is available for testing. The sandbox environment contains representative but non-production data, which helps users understand the data structure, and API functionality, before moving to production. For more information, see [Testing](https://developer.mastercard.com/bin-lookup/documentation/testing/index.md). **Common causes:**

* Your consumer key does not match the one in your Mastercard Developers project.
* Your .p12 signing key file password is incorrect or the file is corrupted.
* The OAuth timestamp is too far from the server time (must be within 5 minutes).
* The request body was modified after the OAuth signature was computed.

<br />

**Step-by-step solution:**

1. Go to your [Mastercard Developers](https://developer.mastercard.com) project page and verify your consumer key.
2. Re-download your .p12 keystore file and confirm the password is correct.
3. Ensure your system clock is synchronized.
4. If using a custom HTTP client, verify the OAuth signature is computed over the exact request body being sent.
5. Test with the [Postman Collection](https://developer.mastercard.com/bin-lookup/documentation/developer-tools/postman-collection/index.md) to isolate whether the issue is in your signing implementation.

See [Code and Formats](https://developer.mastercard.com/bin-lookup/documentation/code-and-formats/index.md) for more details.
**Common causes:**

* Your loop exits before all pages are fetched.
* The `size` parameter is changed between page requests.
* Network errors caused a page to fail silently without retry.

<br />

**Step-by-step solution:**

1. Ensure your loop continues while `currentPageNumber < totalPages`.
2. Keep the `size` parameter consistent across all requests.
3. Add retry logic for failed requests (wait 5--10 seconds, retry up to 3 times).
4. After the loop completes, compare the count of downloaded items to the `totalItems` value from the first page's metadata.

See the [Pagination Tutorial](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/pagination-tutorial/index.md) for a full working example.
**Common causes:**

* Using a partial value on an exact-match field. Only `customerName` supports fuzzy matching; all other fields require exact values.
* Misspelled filter value or incorrect field name.

<br />

**Step-by-step solution:**

1. For `customerName`, try a shorter substring (e.g., "CITI" instead of "CITIBANK N.A.").
2. For other fields (e.g., `productCode`, `country.alpha3`), use exact values.
3. Verify the filter JSON syntax: it must be an array of objects with `key` and `value` fields.
4. Test with a known working filter (e.g., `customerName: "NIUM FINTECH LIMITED"` in sandbox) to confirm your signing and request setup are correct.

See the [Filtering Tutorial](https://developer.mastercard.com/bin-lookup/documentation/tutorials-and-guides/filtering-tutorial/index.md) for a detailed walkthrough.

## Get Help {#get-help}

### Contact us for technical support. {#contact-us-for-technical-support}

