Before any code: what actually is this thing? Is it a program you install? A website? A command? And why does everyone keep mentioning Python, an SDK, and Claude Code as if they're the same thing — they're not. This page draws the whole map so nothing later feels like magic.
Claude runs on Anthropic's servers. You never run Claude on your machine. Everything you build is just different ways of sending a request to those servers and reading the reply.
That's the whole thing. "The Claude API" is the doorway to those servers: you send it an HTTP request (exactly like calling any REST endpoint you've used before), and it sends back a JSON reply. If you've ever called a web service from Java, you already understand 80% of this.
Here's the key that untangles your confusion: curl, the Python SDK, a Java HTTP call, and Claude Code all
do the same underlying thing — send one HTTP request to api.anthropic.com. They just sit at
different heights above the metal. Click each layer:
| Layer | What it is | Use it when… |
|---|---|---|
| Raw HTTP (curl) | The API itself. A plain HTTP POST. No library. | you want to see exactly what the API is, debug, or call from a language with no SDK. |
| SDK (Python / TS / …) | A library that builds that HTTP request for you and parses the reply into objects. | you're writing an app — 99% of the time. Less boilerplate, fewer mistakes. ← our main path. |
| Your own HTTP client (Java) | You build the same POST by hand with your language's HTTP tools. | you're in a language without an official SDK, or you like full control. Same doorway. |
| Claude Code (CLI) | A separate application (a coding agent) that calls the API for you under the hood. | you want an agent in your terminal, not to build your own. It's a product, not the API. (Its own exam domain.) |
Next: see this same idea show up in claude.ai and VS Code — you're using this API far more often than you think.