Skip to main content
POST
/
v1
/
count_tokens
Count tokens
curl --request POST \
  --url https://api.edgee.ai/v1/count_tokens \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "What is the capital of France?"
    }
  ]
}
'
{
  "input_tokens": 42
}
Estimates the number of input tokens for a set of messages without sending the request to an LLM provider. Useful for pre-flight cost estimation, rate-limit planning, and prompt optimization.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your API key. More info here

Body

application/json
messages
object[]
required

Array of message objects to count tokens for. Accepts both OpenAI chat format (with system, user, assistant roles) and Anthropic Messages format — the format is auto-detected from the message structure. Provide tokenizer explicitly to override auto-detection.

Minimum array length: 1
model
string

Optional model hint to improve tokenizer selection. When provided, the gateway uses this to choose the most appropriate tokenizer for the target model.

Example:

"openai/gpt-4o"

Response

Token count estimated successfully

input_tokens
integer
required

Estimated number of input tokens for the provided messages. This is an approximation — counts may differ from provider-native tokenizers. Use for estimation and budgeting, not exact billing.

Required range: x >= 0
Example:

42