API429 / claude-haiku-5-5

Claude Haiku 5.5 API: pricing, the 100K threshold and code

For Haiku 5.5, distinguish the context limit from the pricing threshold: 100,000 input tokens is a pricing condition, rather than a promise about maximum request length. Below are the exact claude-haiku-5-5 ID, published rates and a small classification example.

Read in Russian

Published: · Updated:

Exact ID: claude-haiku-5-5. Check access for your key using GET /v1/models; a published model does not guarantee access for every account.

Prices and billing units

API429: published ratesManufacturer: base Standard
$0.03750 / 1,000,000 cache-write input tokens · Context up to 100,000 tokens inclusive
$0.18750 / 1,000,000 cache-write input tokens · Context over 100,000 tokens
$0.0030 / 1,000,000 cached input tokens · Context up to 100,000 tokens inclusive
$0.0150 / 1,000,000 cached input tokens · Context over 100,000 tokens
$0.030 / 1,000,000 input tokens · Context up to 100,000 tokens inclusive
$0.150 / 1,000,000 input tokens · Context over 100,000 tokens
$0.150 / 1,000,000 output tokens · Context up to 100,000 tokens inclusive
$0.750 / 1,000,000 output tokens · Context over 100,000 tokens
$0.1 / $0.5 per 1M ordinary input / output tokens

Standard; input ≤100,000 tokens; above — $0.50/$2.50 per 1M input/output tokens

Manufacturer sourceChecked: Oct 24, 2026. Cache, tools and special modes are excluded from this rate pair.

API429 catalog generated . This dates the catalog data, not the model’s addition.

Workload budget: input and output

API429$0.135
Manufacturer$0.45
Difference from manufacturer price70%API429 costs less for this workload

Ordinary input and output are counted, excluding cache, tools, fees and repeated calls. This estimates spending; it does not validate whether a request is accepted. RUB results use only your entered rate; they are neither a bank quote nor a top-up amount.

Specifications and compatibility boundaries

The manufacturer specifies a context window of 1,000,000 and a maximum output of 128,000 tokens for its own API (specification: Anthropic, checked Oct 24, 2026). These are not verified effective API429 limits: the current public catalog does not publish them. Confirm the required volume and mode before migrating your workload.

API429 capabilities published for this exact ID: chat vision . A missing property does not mean a prohibition, but it does not establish support. Check input format, tools, JSON/schema, reasoning and streaming separately for the selected method.

Classifying support requests: make the task verifiable

For small recurring tasks, begin with a restricted answer set and a control sample. In this example Haiku receives a synthetic support request and chooses one of three labels. Your application should check that the answer belongs to the allowed list and send ambiguous results for further review. Do not use a single label to deny a customer service or change their permissions automatically. For real support requests, address personal data and input retention separately. Compare Haiku and Sonnet on the same sample: a low token rate alone does not show which model will require fewer corrections.

100K: the pricing change applies to the whole request

Exactly 100,000 input tokens use the lower band; 100,001 use the next band. You cannot bill the first tokens at the lower rate and only the excess at the higher rate. The calculator selects a band using the input of one request and multiplies the result by the number of independent runs. Output uses the rate from that same band. Check the full input including system instructions and history, rather than just the latest user string. Manufacturer specifications and published pricing bands do not establish the effective limit of your key; verify the required request size separately.

Moving from Haiku 4.5: text length alone cannot compare usage

Haiku 5.5 documentation warns of changes to the tokenizer and thinking mode compared with the previous generation. The same character count therefore does not guarantee the same number of billable tokens. For comparison, retain the same source text, actual usage and label validation result. Do not transfer a manual budget_tokens setting from an older native request without checking the new contract. The basic API429 examples below omit these parameters. Before processing a large queue, set retry limits and timeout handling; the displayed mean latency does not guarantee each task’s response time.

Public model observations

Over the last 24 hours: mean successful response time — 33 s; service error rate — 0%. Data as of .

Source: public 24-hour statistics. The mean is neither a median nor a response time guarantee; the error rate and observation window refer to the API429 service. Model quality is not measured here.

First request: curl, Python, JavaScript

Create a key, check your balance and set API429_API_KEY on the server. The generation example incurs a charge. It does not retry automatically; a timeout does not prove the operation was not charged. Inspect the content and actual usage after receiving a response. Python and JavaScript first check the available model list.

curl

Before generation, check the exact ID in the response from GET https://gateway.api429.com/v1/models using the same Bearer key.

curl --fail-with-body https://gateway.api429.com/v1/chat/completions \
  -H "Authorization: Bearer $API429_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-5-5","messages":[{"role":"user","content":"Choose one label: billing, access, other. Request: “I cannot find the API key I created”. Reply with only the label."}],"max_tokens":512,"stream":false}'

Python 3

import json
import os
import urllib.request

key = os.environ["API429_API_KEY"]
base = "https://gateway.api429.com/v1"
headers = {"Authorization": "Bearer " + key, "Content-Type": "application/json"}
models_request = urllib.request.Request(base + "/models", headers=headers)
with urllib.request.urlopen(models_request, timeout=30) as response:
    available = {item["id"] for item in json.load(response)["data"]}
model = "claude-haiku-5-5"
if model not in available:
    raise ValueError("Model is unavailable to this key")
payload = json.loads("{\"model\":\"claude-haiku-5-5\",\"messages\":[{\"role\":\"user\",\"content\":\"Choose one label: billing, access, other. Request: “I cannot find the API key I created”. Reply with only the label.\"}],\"max_tokens\":512,\"stream\":false}")
request = urllib.request.Request(base + "/chat/completions",
    data=json.dumps(payload).encode("utf-8"), headers=headers, method="POST")
with urllib.request.urlopen(request, timeout=60) as response:
    result = json.load(response)
choice = result["choices"][0]
if choice.get("finish_reason") != "stop" or not choice.get("message", {}).get("content"):
    raise ValueError("Incomplete or empty response")
print(choice["message"]["content"])
print(result.get("usage"))

JavaScript: Node.js 18+

const key = process.env.API429_API_KEY;
if (!key) throw new Error("Set API429_API_KEY");
const base = "https://gateway.api429.com/v1";
const headers = { Authorization: "Bearer " + key, "Content-Type": "application/json" };
const model = "claude-haiku-5-5";
const available = await fetch(base + "/models", { headers, signal: AbortSignal.timeout(30000) });
if (!available.ok) throw new Error("Models HTTP " + available.status);
if (!(await available.json()).data.some(item => item.id === model)) throw new Error("Model unavailable to this key");
const response = await fetch(base + "/chat/completions", {
  method: "POST", headers, signal: AbortSignal.timeout(60000),
  body: JSON.stringify({"model":"claude-haiku-5-5","messages":[{"role":"user","content":"Choose one label: billing, access, other. Request: “I cannot find the API key I created”. Reply with only the label."}],"max_tokens":512,"stream":false})
});
if (!response.ok) throw new Error("Generation HTTP " + response.status);
const result = await response.json();
const choice = result.choices?.[0];
if (choice?.finish_reason !== "stop" || !choice?.message?.content) throw new Error("Incomplete or empty response");
console.log(choice.message.content);
console.log(result.usage);

The examples use basic fields from the published API contract. They are checked offline; no successful paid execution or output accuracy is claimed.

n8n: minimal HTTP Request

  1. Create an HTTP Request with method POST and URL https://gateway.api429.com/v1/chat/completions.
  2. Store the Bearer key in credentials; add Content-Type: application/json. Do not put the key in an exported workflow example.
  3. Send the JSON from curl: the exact model claude-haiku-5-5, messages, max_tokens and stream=false.
  4. After the HTTP node, check choices, finish_reason and the response content before writing the result to your production system.

HTTP Request documentation. This recipe describes HTTP Request. Compatibility with specific Agent nodes, SDKs and other API methods needs separate verification.

Three models for your own comparison

These are options for a controlled comparison on the same task, rather than a quality ranking. Base rates apply to a short text request; see the catalog for full pricing.

ModelAPI429: input / output per 1M tokens
Claude Sonnet 5.5claude-sonnet-5-5$0.6 / $3
Claude Opus 5.5claude-opus-5-5$1.2 / $6
Claude Opus 5claude-opus-5$1.5 / $7.5

Version and release date

Manufacturer API release date, Anthropic: . Previous generation: Claude Haiku 4.5; this does not automatically replace the ID in your integration. The date of addition to API429 is unknown. Current availability is determined by the catalog and key permissions, rather than the manufacturer’s historical release date.

Frequently asked questions

Is 100,000 tokens Haiku’s maximum context?

On this page, 100,000 is the input pricing band boundary. The manufacturer states context specifications separately. Verify the effective limit through API429 and access under your key; price and technical limits are different parameters.

How is pricing calculated for 100,001 input tokens?

The next band applies to the whole request: input and output use the corresponding rate rows. The calculator does not apply progressive pricing only to the single token above 100,000. Cache and tools are calculated separately.

Why did the same text use more tokens after Haiku 4.5?

Versions may use different tokenizers. Compare usage on the same text and the request parameters, rather than an approximate character-to-token conversion. Actual tokens and the applicable pricing band determine the final cost.

Can I process the entire support queue immediately?

First check model access, a small control set, empty response handling and labels outside the allowed list. Limit concurrency and retries. This example is not a measurement of classification accuracy or evidence of suitability for decisions without human review.

Sources and review

Editorial review: . Pricing and general calculator · Getting started · Compare the family: Claude

Telegram