Skip to main content
Watch: I Built an AI App Without Leaving Databricks

API compatibility - 10 documented limits

DeepSeek API compatibility

DeepSeek documents an OpenAI-compatible API at https://api.deepseek.com (chat/completions). Its Anthropic-compatible base URL, the value for ANTHROPIC_BASE_URL, is https://api.deepseek.com/anthropic. The docs list 10 limitations: 10 for the Anthropic-compatible layer.

Verified against DeepSeek's own documentation. Not documented means the docs read that day do not say; it never means No.

Compare every provider in the API compatibility matrix.

OpenAI-compatible API

Supported
Base URL
https://api.deepseek.com
Endpoints
  • chat/completions
Auth
Authorization: Bearer ${DEEPSEEK_API_KEY}
Notes
Models listed on the quick start: deepseek-flash and deepseek-v4-pro. Legacy names deepseek-v4-flash and deepseek-v4-flash-vision-exp are still accepted and served by DeepSeek-V4.1-Flash-1017. Thinking is enabled via a non-standard thinking field (extra_body in the Python SDK).

From the docs

The DeepSeek API uses an API format compatible with OpenAI/Anthropic. By modifying the configuration, you can use the OpenAI/Anthropic SDK or softwares compatible with the OpenAI/Anthropic API to access the DeepSeek API.
api-docs.deepseek.com/

Anthropic-compatible API

Supported
ANTHROPIC_BASE_URL
https://api.deepseek.com/anthropic
Auth
ANTHROPIC_API_KEY env var (x-api-key header: Fully Supported)
Notes
Claude model names are mapped: claude-opus* to deepseek-v4-pro, claude-haiku*/claude-sonnet* to deepseek-flash. Non-claude unsupported model names return 400.

From the docs

To meet the demand for using the Anthropic API ecosystem, our API has added support for the Anthropic API format, with the base_url being https://api.deepseek.com/anthropic.
api-docs.deepseek.com/guides/anthropic_api

Documented limitations

Parameters, content types and features DeepSeek's docs say its compatibility layers ignore, reject or change, each with the line it comes from. A layer with nothing listed may still differ in ways the docs do not spell out.

OpenAI-compatible layer0

No limitations listed in the docs read.

Anthropic-compatible layer10

Example from DeepSeek's docs

Copied verbatim from the provider's documentation, placeholders included.

Provider example
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get('DEEPSEEK_API_KEY'),
    base_url="https://api.deepseek.com",
)

response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello"},
    ],
    stream=False,
    reasoning_effort="high",
    extra_body={"thinking": {"type": "enabled"}},
)

More on DeepSeek

Newsletter

Know when a provider changes its API

One email per week. New models, new endpoints and the compatibility changes that break a base URL, and what they mean for your stack.