# Getting Started

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

:::info
This guide uses the Trading API as an example to help you get started quickly.
:::

```mermaid
flowchart LR
    A["Step 1: API Access Request"]
    B["Step 2: SDK Installation"]
    C["Step 3: Credentials Setup"]
    D["Step 4: First API Execution"]
    E["Step 5: API Exploration"]

    A --> B
    B --> C
    C --> D
    D --> E

    %% Style
    classDef node fill:#1677ff,stroke:#0b5ed7,color:#ffffff,stroke-width:1.5px,rx:8,ry:8;
    class A,B,C,D,E node;
```

This page walks you through the complete path from zero to your first successful API call. Each step links to the relevant page for details — follow them in order and you'll be up and running quickly.

## Step 1: Apply for API Access

Before you can use the Webull OpenAPI, you need to apply for access and get your credentials approved.

- App Key and App Secret. See:
  - [Individual Application Process](authentication/individual-application.md)
  - Shared [test accounts](sdk.md#test-accounts)


:::caution
The review process typically takes 1–2 business days. You can proceed to Step 2 while waiting.
:::

## Step 2: Install the SDK

Install the official Webull SDK for your language. The SDK handles authentication, signature generation, and protocol details automatically.

| Language | Install Command |
|----------|----------------|
| Python | `pip3 install --upgrade webull-openapi-python-sdk` |
| Java | Add `webull-openapi-java-sdk` to your Maven dependencies |

For full installation details and environment setup, see [SDKs and Tools](sdk.md).

## Step 3: Get Your Credentials

Once your application is approved, generate your App Key and App Secret from the Webull website.

Want to start coding right away? Use the shared [test accounts](sdk.md#test-accounts) — no application needed for the test environment.

## Step 4: Make Your First API Call

With the SDK installed and credentials ready, you can make your first call. Here's a quick example using the test environment:

```python
from webull.core.client import ApiClient
from webull.trade.trade_client import TradeClient

api_client = ApiClient("<your_app_key>", "<your_app_secret>", "sg")
api_client.add_endpoint("sg", "<api_endpoint>")

trade_client = TradeClient(api_client)
res = trade_client.account_v2.get_account_list()
print(res.json())
```

If you see your account list returned, you're all set.

## Step 5: Explore the APIs

Now that you're connected, dive into the API that fits your use case:

| API | Best For | Guide |
|-----|----------|-------|
| Trading API | Placing orders, managing positions and accounts | [Trading API Getting Started](trade-api/getting-started.md) |
| Market Data API | Real-time and historical market data | [Market Data API Getting Started](market-data-api/getting-started.md) |

## Learn More

- [Authentication Overview](authentication/overview.md) — How request signing and token-based 2FA work
- [SDKs and Tools](sdk.md) — API environments, test accounts, and management tools
- [Additional Resources](resources.md) — SDK source code, support channels, and learning materials
