# API Basics
source: https://developer.mastercard.com/bin-lookup/documentation/api-basics/index.md

## Client Authentication {#client-authentication}

Mastercard uses OAuth 1.0a to authenticate your application. Mastercard provides [client authentication libraries](https://github.com/Mastercard?q=oauth) in several languages that you can integrate to your project or use as reference OAuth 1.0a implementations:

|                      |                                                     ![Java](https://static.developer.mastercard.com/content/bin-lookup/img/java.svg) **Java**                                                      |                                                    ![C#](https://static.developer.mastercard.com/content/bin-lookup/img/csharp.svg) **C#**                                                     |                            ![Python](https://static.developer.mastercard.com/content/bin-lookup/img/python.svg) **Python**                             |                             ![NodeJS](https://static.developer.mastercard.com/content/bin-lookup/img/nodejs.svg) **NodeJS**                             |                                      ![Go](https://static.developer.mastercard.com/content/bin-lookup/img/go.svg) **Go**                                      |
|----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Download/install** | [![](https://img.shields.io/maven-central/v/com.mastercard.developer/oauth1-signer.svg?style=flat&color=f99f1c&label=)](https://search.maven.org/artifact/com.mastercard.developer/oauth1-signer/) | [![](https://img.shields.io/nuget/v/Mastercard.Developer.OAuth1Signer.Core.svg?style=flat&color=f99f1c&label=)](https://www.nuget.org/packages/Mastercard.Developer.OAuth1Signer.RestSharpV2/) | [![](https://img.shields.io/pypi/v/mastercard-oauth1-signer.svg?style=flat&color=f99f1c&label=)](https://pypi.org/project/mastercard-oauth1-signer/)   | [![](https://img.shields.io/npm/v/mastercard-oauth1-signer.svg?style=flat&color=f99f1c&label=)](https://www.npmjs.com/package/mastercard-oauth1-signer) | [![](https://img.shields.io/github/v/release/mastercard/oauth1-signer-go.svg?style=flat&color=f99f1c&label=)](https://github.com/Mastercard/oauth1-signer-go) |
| **View on GitHub**   | [![](https://img.shields.io/github/stars/mastercard/oauth1-signer-java.svg?label=&style=social)](https://github.com/Mastercard/oauth1-signer-java)                                                 | [![](https://img.shields.io/github/stars/mastercard/oauth1-signer-csharp.svg?label=&style=social)](https://github.com/Mastercard/oauth1-signer-csharp)                                         | [![](https://img.shields.io/github/stars/mastercard/oauth1-signer-python.svg?label=&style=social)](https://github.com/Mastercard/oauth1-signer-python) | [![](https://img.shields.io/github/stars/mastercard/oauth1-signer-nodejs.svg?label=&style=social)](https://github.com/Mastercard/oauth1-signer-nodejs)  | [![](https://img.shields.io/github/stars/mastercard/oauth1-signer-go.svg?label=&style=social)](https://github.com/Mastercard/oauth1-signer-go)                |

For a detailed overview of the OAuth 1.0a approach Mastercard uses, refer to [Using OAuth 1.0a to Access Mastercard APIs](https://developer.mastercard.com/platform/documentation/authentication/using-oauth-1a-to-access-mastercard-apis/).

## Transport Encryption {#transport-encryption}

The transport between client applications and Mastercard is secured using [TLS/SSL](https://en.wikipedia.org/wiki/Transport_Layer_Security), which means data is encrypted by default when transmitted across networks.

## How to Consume the BIN Lookup API? {#how-to-consume-the-bin-lookup-api}

### Generate your own API client {#generate-your-own-api-client}

Create customizable API clients from the BIN Lookup API specification and let Mastercard's open-source client libraries handle the authentication for you. This approach offers the most flexibility and is strongly recommended.

Follow the [Generating and Configuring a Mastercard API Client](https://developer.mastercard.com/platform/documentation/security-and-authentication/generating-and-configuring-a-mastercard-api-client/) tutorial with the [BIN Lookup API Reference](https://developer.mastercard.com/bin-lookup/documentation/index.md). Ignore *Step 5: Add the Client Encryption Library to the Project* and *Step 7: Enable Encryption* as the BIN Lookup API does not currently have payload encryption.

### Use a Method of your Choice {#use-a-method-of-your-choice}

BIN Lookup exposes a RESTful API: you are free to use the HTTP client of your choice and can still leverage the Mastercard open-source [client libraries](https://developer.mastercard.com/platform/documentation/authentication/using-oauth-1a-to-access-mastercard-apis/) for signing your requests. Refer to the [BIN Lookup API Reference](https://developer.mastercard.com/bin-lookup/documentation/index.md).

## Environments {#environments}

### Sandbox {#sandbox}

The BIN Lookup Sandbox is an isolated server environment distinct from production. It is a shared environment that everyone who creates a project has access to. All data in the sandbox is test data but representative of what is available in production, it is useful to understand the structure, and nature, of the data that is available with the service.

#### Base URL for Sandbox Endpoints {#base-url-for-sandbox-endpoints}

* Sandbox

```Sandbox
https://sandbox.api.mastercard.com/bin-resources
```

All endpoints, and data elements are available in Sandbox by default and it is free to use. The only limitation is that the data is entirely mocked and **cannot** be used in production solutions.

### Production Access {#production-access}

Once your request for production access is approved by the Mastercard team, you'll receive access to the production environment with a one-month free trial. This trial provides access to real data but includes limitations on how the data can be accessed and the number of data elements returned.

To maintain access beyond the trial period and unlock premium features, you must complete the billing process. If billing is not completed within one month, your access will be revoked. See [Available Plans](https://developer.mastercard.com/bin-lookup/documentation/pricing-plans/index.md) for more information.

To proceed, [contact us](mailto:DBN.BinTableResource.Support@mastercard.com) after requesting production access.

#### Base URL for Production Endpoints {#base-url-for-production-endpoints}

* Production

```Production
https://api.mastercard.com/bin-resources
```

## Next Steps {#next-steps}

### API Status {#api-status}

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.

### Developer Tooling {#developer-tooling}

We provide a set of developer tools to help you integrate with the API more easily and get the most value from the account range data. These tools give you a head start when building your connection. For details, see [Developer Tools](https://developer.mastercard.com/bin-lookup/documentation/developer-tools/index.md).
