> For the complete documentation index, see [llms.txt](https://docs.apexsolutions.lol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apexsolutions.lol/start-here/quickstart.md).

# Quickstart

From zero to a verified key and your first solve in a few minutes.

This gets you from zero to a verified API key and your first successful solve request. It does **not** bypass a site yet — for that, finish here and then follow the guide for your target's anti-bot system.

New to how the API fits together? Read the [Overview](/start-here/overview.md) first (2 minutes).

### 1. Get your API key

Create an account and grab a key from your dashboard: [apexsolutions.lol/apikeys](https://apexsolutions.lol/apikeys). Every request authenticates with this key via the `Authorization: Bearer` header.

### 2. Make your first request

Apex is a plain HTTP API, so any HTTP client works. Send a `POST` to `https://forter.apexsolutions.lol/payload` with your key in the `Authorization: Bearer` header and the page details in the body:

{% tabs %}
{% tab title="Go" %}

```go
package main

import (
	"bytes"
	"encoding/json"
	"net/http"
)

func main() {
	body, _ := json.Marshal(map[string]string{
		"site_id":   "{site_id}",
		"seed":      "{seed}",
		"page_url":  "{page_url}",
		"referrer":  "{referrer}",
		"proxy":     "http://user:pass@host:port",
	})

	req, _ := http.NewRequest("POST", "https://forter.apexsolutions.lol/payload", bytes.NewReader(body))
	req.Header.Set("Authorization", "Bearer your-api-key")
	req.Header.Set("Content-Type", "application/json")

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
}
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

resp = requests.post(
    "https://forter.apexsolutions.lol/payload",
    headers={"Authorization": "Bearer your-api-key"},
    json={
        "site_id": "{site_id}",
        "seed": "{seed}",
        "page_url": "{page_url}",
        "referrer": "{referrer}",
        "proxy": "http://user:pass@host:port",
    },
)

print(resp.status_code, resp.json())
```

{% endtab %}

{% tab title="JS/TS" %}

```jsts
const resp = await fetch("https://forter.apexsolutions.lol/payload", {
  method: "POST",
  headers: {
    "Authorization": "Bearer your-api-key",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    site_id: "{site_id}",
    seed: "{seed}",
    page_url: "{page_url}",
    referrer: "{referrer}",
    proxy: "http://user:pass@host:port",
  }),
});

const data = await resp.json();
console.log(data);
```

{% endtab %}
{% endtabs %}

### 3. Confirm your key works

If the request above returned a session, your key works. You can also check your balance at any time:

```bash
curl https://api.apexsolutions.lol/balance -H "Authorization: Bearer your-api-key"
```

A successful response returns your balance:

```json
{
  "available": 4999,
  "reserved": 0,
  "total_consumed": 1,
  "rate_limit_per_second": 10,
  "max_concurrent_solves": 3
}
```

If you get a `401`, your key is wrong or missing.

### 4. Bypass your first site

You're set up. Now:

1. Read the Core Requirements — the TLS client, header order, and proxy rules every integration needs.
2. Open the guide for the anti-bot system that protects your target — every supported system ships with its own guide in the sidebar.
3. Follow that guide's Getting Started and make your first solve.
