POST/v1/messages/count_tokens

Count Tokens

Calculate the token count for a given messages payload before sending a request. Use this to estimate costs and check if a request will fit within your context window.

Test the count tokens endpoint:

Bash
curl -X POST https://api.mr-coder.io/v1/messages/count_tokens \
  -H "x-api-key: sk-mr-auth-your-key-here" \
  -H "Content-Type: application/json" \
  -d '{"messages": [{"role": "user", "content": "Hello world"}]}'

Request Parameters

ParameterTypeDescription
messages*arrayArray of message objects to count. Same format as the Messages endpoint.
systemstringSystem prompt to include in the count.

Response Format

JSON
{
  "input_tokens": 1276
}
FieldTypeDescription
input_tokensintegerTotal number of input tokens in the request (messages + system prompt).
Note: Token counting is currently supported only for Anthropic models (claude-*). Requests for non-Anthropic models return a 400 error with unsupported_model in the error code.

Code Examples

Bash
curl -X POST https://api.mr-coder.io/v1/messages/count_tokens \
  -H "x-api-key: sk-mr-auth-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"messages": [{"role": "user", "content": "Hello world"}]}'
TypeScript
const response = await fetch(
  'https://api.mr-coder.io/v1/messages/count_tokens',
  {
    method: 'POST',
    headers: {
      'x-api-key': 'sk-mr-auth-xxxxxxxx',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      messages: [{ role: 'user', content: 'Hello world' }],
    }),
  }
);

const { input_tokens } = await response.json();
console.log(`This request will use ${input_tokens} input tokens.`);
Python
import requests

response = requests.post(
    'https://api.mr-coder.io/v1/messages/count_tokens',
    headers={
        'x-api-key': 'sk-mr-auth-xxxxxxxx',
        'Content-Type': 'application/json',
    },
    json={
        'messages': [{'role': 'user', 'content': 'Hello world'}],
    }
)

data = response.json()
print(f"This request will use {data['input_tokens']} input tokens.")