# Getting started

## Getting Started

### 1. Create a bunq Account

To use the bunq API in production, you'll need a personal or business bunq account, which you can create directly in the [bunq mobile app](https://www.bunq.com).

But if you're just getting started, **you don’t need a real account yet**.

We provide a **sandbox environment** where you can:

* Generate sandbox users instantly
* Access test accounts with fake money
* Experiment freely without risk

To get started with the sandbox account we recommend you start with our tutorial: [Your first payment](/tutorials/your-first-payment.md) which guides you through all the steps.&#x20;

### 2. Choose Between Sandbox and Production

bunq offers two environments for developers:

#### 🧪 Sandbox

* **Free** and open to anyone — no real bunq account required
* Preloaded with **test money** and **mock users**
* Safe to experiment, test features, and simulate payments

Ideal for:

* Trying out the API
* Building and testing your integration
* Running automated tests

#### 🏦 Production

* Connects to **real bunq accounts** and **live money**
* Requires a valid bunq personal or business account
* Used for actual payments, user data, and transactions

Use this when:

* You're ready to go live
* You want to interact with real users and money

Follow these instructions to start [Creating a sandbox user and getting an API key](/tutorials/your-first-payment/creating-a-sandbox-user-and-getting-an-api-key.md) and here to [Getting sandbox money on the user account](/tutorials/your-first-payment/setting-up-a-sandbox-user/getting-sandbox-money-on-the-user-account.md).

### 3. Generate an API Key or Register an OAuth Client

If you're building something **just for your own bunq account**, you can generate a personal [API Keys](/basics/authentication/api-keys.md) directly from the bunq app:

* Grants **full access to your own account**
* Ideal for **internal tools, scripts, or personal automations**
* Simple to set up: no redirects, no user consent flow

If you're building an app or service that needs access to **other users’ bunq accounts**, use [OAuth](/basics/authentication/oauth.md):

* Users grant permission to your app
* You get access **only to the scopes** they approve
* Required for **multi-user apps, SaaS products, and platforms**

### 4. Set Up Your Development Environment

### 5. Install an SDK&#x20;

To make integration easier, we offer official SDKs in the most popular languages:

* 🐍 **Python**
* ☕️ **Java**
* 💠 **C#**
* 🐘 **PHP**

These SDKs handle encryption, session creation, and API communication for you — so you can focus on building. Check them out here [\[unmaintained\] Software Development Kits (SDKs)](/getting-started/tools/unmaintained-software-development-kits-sdks.md)

#### ✨ Why use an SDK?

* Simplifies authentication and session handling
* Automatically manages request signing and response parsing
* Speeds up development with helpful abstractions

### 6. Try a Tutorial

We offer a few Tutorials that help you step-by-step to understand the basics. These tutorials exist:&#x20;

* [Your first payment](/tutorials/your-first-payment.md)
* [How to do bulk payments](/tutorials/how-to-do-bulk-payments.md)
* [Receiving payments on your website using  bunq.me](/tutorials/receiving-payments-on-your-website-using-bunq.me.md)
* [How to manage your cards](/tutorials/how-to-manage-your-cards.md)

### 7. Explore Callbacks // Webhooks for Real-Time Updates

bunq supports **webhooks** to notify your app in real time when something happens — like receiving a payment or a card transaction. These events are also available via the API, but webhooks let you react instantly without polling. Just register a callback URL, and bunq will send a signed POST request whenever an event occurs.&#x20;

Learn how to set up these callbacks here [Callbacks (Webhooks)](/basics/callbacks-webhooks.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.bunq.com/basics/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
