---
url: https://docs.freetheai.org/getting-started/account.md
description: >-
  Create a FreeTheAI account, confirm your email, and create an API key. Key
  settings like the model list, IP allowlist, tool-capable models only, and
  turning thinking off.
---

# Account and API keys

Everything starts with a free account on [freetheai.org](https://freetheai.org). Accounts are for people: you sign up, sign in, and create keys yourself on the website.

## Create your account

1. Open [freetheai.org](https://freetheai.org) and sign up with an email address from a major provider: **Gmail, Outlook (Hotmail, Live, MSN), Yahoo, or iCloud**. Other addresses, including privacy-focused and temporary email services, are not accepted.
2. Open the confirmation link we send you (check spam). The API refuses requests until the email is confirmed, with `Confirm your email address to use the API.`

Sign-up, sign-in, and the daily check-in each include a short human check. If it does not load or keeps failing, see [the FAQ](/faq#security-check-not-working).

::: warning One account per person
FreeTheAI allows one account per person. People in the same household can each have their own account with their own email, but don't share accounts or keys. If you forget your password, use **Forgot password?** on the login page instead of making a new account.
:::

## Create an API key

1. Sign in and open **Dashboard > API keys** ([freetheai.org/dashboard/api-keys](https://freetheai.org/dashboard/api-keys)).
2. Press **New key**, give it a name, and create it.
3. Copy the key right away. It starts with `ftai_`, is **53 characters** long, and is shown **only once**.

The key list afterwards shows only the start of each key (for example `ftai_1234567...`). That short prefix is not a working key: pasting it gives `This is not a complete FreeTheAI API key`. If you lost a key, create a new one and paste the whole key into your app.

## Use the key

Send the key as a bearer token on every request:

```http
Authorization: Bearer ftai_your_key_here
```

The Anthropic-style `x-api-key: ftai_...` header works too, which is what the Anthropic SDK sends. In apps, paste the key into the field called API key, Custom API Key, or similar.

::: tip Keep keys secret
Store the key in an environment variable or your app's settings, never in code you share or commit. In Claude Code, put it in your personal `~/.claude/settings.json`, not a project's shared `.claude/settings.json`. If a key leaks, revoke it on the API keys page and create a new one.
:::

## Key settings

Open **scope & settings** under a key to change how it behaves. Every setting is optional.

| Setting | What it does |
| --- | --- |
| **Allowed models** | Limits the key to the models you pick. Other models answer `403` with `This API key's model list does not include this model.` Leave it empty to allow every model. |
| **IP allowlist** | One IP address or CIDR range per line. Requests from other addresses are refused. Leave it blank to allow every source; home addresses change often. |
| **Tool-capable models only** | For coding agents and routers. `/v1/models` lists only models that can make tool calls, and other models are refused on this key. |
| **Turn thinking off** | For apps that cannot send a thinking setting, like JanitorAI. Models skip their reasoning and start answering sooner. A thinking setting sent with a request still wins. See [Thinking and reasoning](/concepts/reasoning). |
| **Expiration date** | The key stops working after this date. |

You can disable a key and enable it again later, or revoke it permanently. Apps that use a revoked key fail right away.

## Your dashboard

* **Free usage** shows how much of your free usage is left today, when it resets, and how to get more, such as linking Discord.
* **Logs** lists your recent requests with their model and status.
* **Support** is where you open a ticket or appeal a hold.

## Next

* [Do the daily check-in](/getting-started/check-in)
* [Send your first request](/getting-started/quickstart)
