Skip to main content
AdSkull exposes a façade at https://api.adskull.io/anthropic/v1 that speaks the Anthropic Messages API. Tools written against Anthropic SDKs work by just changing the base URL and key.
Both x-api-key: sk_live_... and Authorization: Bearer sk_live_... are accepted.

Endpoint

POST /anthropic/v1/messages

Claude Code (CLI)

openclaw

Anthropic Python SDK

LangChain (Anthropic)

Model IDs

You may pass either the canonical AdSkull ID or its hyphenated alias: If you pass a real Anthropic model name (e.g. claude-3-opus-20240229) we return 400 invalid_request. AdSkull controls the underlying provider for each AdSkull model ID.

Streaming

"stream": true emits Anthropic-style SSE events: message_start, content_block_start, content_block_delta, content_block_stop, message_delta, message_stop. The final message_delta includes our usage.millicredits_charged and usage.credits_charged extensions.

What’s different from real Anthropic

  • model accepts AdSkull IDs only.
  • usage includes millicredits_charged and credits_charged extensions.
  • anthropic-version is accepted but ignored.
  • Beta headers like anthropic-beta are ignored.
  • All errors use the AdSkull error envelope: {"error": {"code", "message"}}.