Claude
Get started with Claude
Checked 09/15/2026View original
On this page
Prerequisites
Call the API
```bash
export ANTHROPIC_API_KEY="your-api-key-here"
```
</Step>
<Step title="Make your first API call">
Send a `POST` request to the Messages API:
```bash cURL
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"max_tokens": 1000,
"messages": [
{
"role": "user",
"content": "What should I search for to find the latest developments in renewable energy?"
}
]
}'
```
Claude returns a JSON response containing the assistant's message:
```json Output
{
"model": "claude-opus-5",
"id": "msg_013mHbppMPd2PrVJzGMZPt2D",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Here are some effective search strategies to find the latest developments in renewable energy:\n\n## General Search Terms\n- \"Renewable energy news 2025\"\n- ..."
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"stop_details": null,
"usage": {
"input_tokens": 21,
"output_tokens": 305
}
}
```
</Step>
</Steps>
```bash
brew install anthropics/tap/ant
```
For other installation methods, see [Installation](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/quickstart#installation) in the CLI quickstart.
</Step>
<Step title="Authenticate">
Log in with your Anthropic account:
```bash
ant auth login
```
This opens a browser-based OAuth flow. After authorizing, confirm your credential with:
```bash
ant auth status
```
On a remote host without a browser, pass `--no-browser` to get a URL you can open on another device, then paste the returned code back into the terminal. If `ANTHROPIC_API_KEY` is set in your environment, it takes precedence over the login credentials. For non-interactive environments such as CI, see [CLI authentication options](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication).
</Step>
<Step title="Make your first API call">
Run `ant messages create` from your terminal:
```bash CLI
ant messages create \
--model claude-opus-5 \
--max-tokens 1000 \
--message '{
role: user,
content: "What should I search for to find the latest developments in renewable energy?"
}'
```
The CLI prints the JSON response:
```json Output
{
"model": "claude-opus-5",
"id": "msg_01N1ycuCkM5Mzd7WhTU4fwST",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Here are some effective search strategies to find the latest developments in renewable energy:\n\n## General Search Terms\n- \"Renewable energy news 2025\"\n- ..."
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"stop_details": null,
"usage": { "input_tokens": 21, "output_tokens": 305 }
}
```
</Step>
</Steps>
```bash
export ANTHROPIC_API_KEY="your-api-key-here"
```
</Step>
<Step title="Create a project and install the SDK">
```bash
mkdir claude-quickstart && cd claude-quickstart
python3 -m venv .venv && source .venv/bin/activate
pip install anthropic
```
</Step>
<Step title="Create your code">
Create a file called `quickstart.py`:
```python Python
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-5",
max_tokens=1000,
messages=[
{
"role": "user",
"content": "What should I search for to find the latest developments in renewable energy?",
}
],
)
for block in message.content:
if block.type == "text":
print(block.text)
```
</Step>
<Step title="Run your code">
```bash
python quickstart.py
```
```text Output wrap
Here are some effective search strategies to find the latest developments in renewable energy:
## General Search Terms
- "Renewable energy news 2025"
- ...
```
</Step>
</Steps>
```bash
export ANTHROPIC_API_KEY="your-api-key-here"
```
</Step>
<Step title="Create a project and install the SDK">
```bash
mkdir claude-quickstart && cd claude-quickstart
npm init -y
npm pkg set type=module
npm install @anthropic-ai/sdk
```
</Step>
<Step title="Create your code">
Create a file called `quickstart.ts`:
```typescript TypeScript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const message = await client.messages.create({
model: "claude-opus-5",
max_tokens: 1000,
messages: [
{
role: "user",
content: "What should I search for to find the latest developments in renewable energy?"
}
]
});
for (const block of message.content) {
if (block.type === "text") {
console.log(block.text);
}
}
```
</Step>
<Step title="Run your code">
```bash
npx tsx quickstart.ts
```
```text Output wrap
Here are some effective search strategies to find the latest developments in renewable energy:
## General Search Terms
- "Renewable energy news 2025"
- ...
```
</Step>
</Steps>
```bash
export ANTHROPIC_API_KEY="your-api-key-here"
```
</Step>
<Step title="Create a project and install the SDK">
Create a new console project and add the Anthropic package:
```bash
dotnet new console -n ClaudeQuickstart
cd ClaudeQuickstart
dotnet add package Anthropic
```
</Step>
<Step title="Create your code">
Replace the contents of `Program.cs`:
```csharp C#
using Anthropic;
using Anthropic.Models.Messages;
var client = new AnthropicClient();
var message = await client.Messages.Create(new MessageCreateParams
{
Model = Model.ClaudeOpus5,
MaxTokens = 1000,
Messages =
[
new()
{
Role = Role.User,
Content = "What should I search for to find the latest developments in renewable energy?",
},
],
});
foreach (var block in message.Content)
{
if (block.TryPickText(out var textBlock))
{
Console.WriteLine(textBlock.Text);
}
}
```
</Step>
<Step title="Run your code">
```bash
dotnet run
```
```text Output wrap
Here are some effective search strategies to find the latest developments in renewable energy:
## General Search Terms
- "Renewable energy news 2025"
- ...
```
</Step>
</Steps>
```bash
export ANTHROPIC_API_KEY="your-api-key-here"
```
</Step>
<Step title="Create a project and install the SDK">
Create a new module and add the Anthropic SDK:
```bash
mkdir claude-quickstart && cd claude-quickstart
go mod init claude-quickstart
go get github.com/anthropics/anthropic-sdk-go
```
</Step>
<Step title="Create your code">
Create a file called `main.go`:
```go Go
package main
import (
"context"
"fmt"
"log"
"github.com/anthropics/anthropic-sdk-go"
)
func main() {
client := anthropic.NewClient()
message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
Model: anthropic.ModelClaudeOpus5,
MaxTokens: 1000,
Messages: []anthropic.MessageParam{
anthropic.NewUserMessage(anthropic.NewTextBlock("What should I search for to find the latest developments in renewable energy?")),
},
})
if err != nil {
log.Fatal(err)
}
for _, block := range message.Content {
if textBlock, ok := block.AsAny().(anthropic.TextBlock); ok {
fmt.Println(textBlock.Text)
}
}
}
```
</Step>
<Step title="Run your code">
```bash
go run .
```
```text Output wrap
Here are some effective search strategies to find the latest developments in renewable energy:
## General Search Terms
- "Renewable energy news 2025"
- ...
```
</Step>
</Steps>
```bash
export ANTHROPIC_API_KEY="your-api-key-here"
```
</Step>
<Step title="Set up your project">
You need a JDK (25 or later) and either [Gradle](https://gradle.org/install/) or [Maven](https://maven.apache.org/install.html) on your `PATH`. Create a directory for your project with a Java source directory inside it:
```bash
mkdir -p claude-quickstart/src/main/java && cd claude-quickstart
```
Then add a build file. Find the current SDK version on [Maven Central](https://central.sonatype.com/artifact/com.anthropic/anthropic-java).
<Tabs>
<Tab title="Gradle">
Save this as `build.gradle.kts`:
```kotlin
plugins {
application
}
repositories {
mavenCentral()
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(25)
}
}
dependencies {
implementation("com.anthropic:anthropic-java:2.60.0")
}
application {
mainClass = "QuickStart"
}
```
</Tab>
<Tab title="Maven">
Save this as `pom.xml`:
```xml
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>quickstart</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.release>25</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.anthropic</groupId>
<artifactId>anthropic-java</artifactId>
<version>2.60.0</version>
</dependency>
</dependencies>
</project>
```
</Tab>
</Tabs>
</Step>
<Step title="Create your code">
Save this as `QuickStart.java` in your project's Java source directory (usually `src/main/java/`):
```java Java
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.messages.Message;
import com.anthropic.models.messages.MessageCreateParams;
import com.anthropic.models.messages.Model;
static void main() {
var client = AnthropicOkHttpClient.fromEnv();
var params = MessageCreateParams.builder()
.model(Model.CLAUDE_OPUS_5)
.maxTokens(1000)
.addUserMessage(
"What should I search for to find the latest developments in renewable energy?"
)
.build();
Message message = client.messages().create(params);
for (var block : message.content()) {
block.text().ifPresent(textBlock -> IO.println(textBlock.text()));
}
}
```
</Step>
<Step title="Run your code">
<Tabs>
<Tab title="Gradle">
```bash
gradle run
```
</Tab>
<Tab title="Maven">
```bash
mvn compile exec:java -Dexec.mainClass=QuickStart
```
</Tab>
</Tabs>
```text Output wrap
Here are some effective search strategies to find the latest developments in renewable energy:
## General Search Terms
- "Renewable energy news 2025"
- ...
```
</Step>
</Steps>
```bash
export ANTHROPIC_API_KEY="your-api-key-here"
```
</Step>
<Step title="Create a project and install the SDK">
```bash
mkdir claude-quickstart && cd claude-quickstart
composer require "anthropic-ai/sdk" "guzzlehttp/guzzle:^7"
```
</Step>
<Step title="Create your code">
Create a file called `quickstart.php`:
```php PHP
<?php
require 'vendor/autoload.php';
use Anthropic\Client;
use Anthropic\Messages\Model;
use Anthropic\Messages\TextBlock;
$client = new Client();
$message = $client->messages->create(
model: Model::CLAUDE_OPUS_5,
maxTokens: 1000,
messages: [
[
'role' => 'user',
'content' => 'What should I search for to find the latest developments in renewable energy?',
],
],
);
foreach ($message->content as $block) {
if ($block instanceof TextBlock) {
echo $block->text . PHP_EOL;
}
}
```
</Step>
<Step title="Run your code">
```bash
php quickstart.php
```
```text Output wrap
Here are some effective search strategies to find the latest developments in renewable energy:
## General Search Terms
- "Renewable energy news 2025"
- ...
```
</Step>
</Steps>
```bash
export ANTHROPIC_API_KEY="your-api-key-here"
```
</Step>
<Step title="Create a project and install the SDK">
```bash
mkdir claude-quickstart && cd claude-quickstart
bundle init
bundle add anthropic
```
</Step>
<Step title="Create your code">
Create a file called `quickstart.rb`:
```ruby Ruby
require "anthropic"
client = Anthropic::Client.new
message = client.messages.create(
model: Anthropic::Model::CLAUDE_OPUS_5,
max_tokens: 1000,
messages: [
{
role: "user",
content: "What should I search for to find the latest developments in renewable energy?"
}
]
)
message.content.each do |block|
puts block.text if block.type == :text
end
```
</Step>
<Step title="Run your code">
```bash
bundle exec ruby quickstart.rb
```
```text Output wrap
Here are some effective search strategies to find the latest developments in renewable energy:
## General Search Terms
- "Renewable energy news 2025"
- ...
```
</Step>
</Steps>
Next steps
You made your first API call. Next, learn the Messages API patterns you'll use in every Claude integration.
Once you're comfortable with the basics, explore further: