Get Started ↗
yesEditorial Notes
Your first hands-on interaction with the API. Get your API key, make a request, and see a response. This page establishes the basic request/response pattern that everything else builds on.
Original Documentation
Make your first API call to Claude and build a simple web search assistant.
Prerequisites#
- An Anthropic Console account
- An API key
Call the API#
Get your API key from the Claude Console and set it as an environment variable:
```bash
export ANTHROPIC_API_KEY='your-api-key-here'
```
Run this command to create a simple web search assistant:
```bash
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-4-6",
"max_tokens": 1000,
"messages": [
{
"role": "user",
"content": "What should I search for to find the latest developments in renewable energy?"
}
]
}'
```
**Example output:**
```json
{
"id": "msg_01HCDu5LRGeP2o7s2xGmxyx8",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Here are some effective search strategies to find the latest renewable energy developments:\n\n## Search Terms to Use:\n- \"renewable energy news 2024\"\n- \"clean energy breakthrough\"\n- \"solar/wind/battery technology advances\"\n- \"green energy innovations\"\n- \"climate tech developments\"\n- \"energy storage solutions\"\n\n## Best Sources to Check:\n\n**News & Industry Sites:**\n- Renewable Energy World\n- GreenTech Media (now Wood Mackenzie)\n- Energy Storage News\n- CleanTechnica\n- PV Magazine (for solar)\n- WindPower Engineering & Development..."
}
],
"model": "claude-opus-4-6",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 21,
"output_tokens": 305
}
}
```
Get your API key from the Claude Console and set it as an environment variable:
```bash
export ANTHROPIC_API_KEY='your-api-key-here'
```
Install the Anthropic Python SDK:
```bash
pip install anthropic
```
Save this as quickstart.py:
```python
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-6",
max_tokens=1000,
messages=[
{
"role": "user",
"content": "What should I search for to find the latest developments in renewable energy?",
}
],
)
print(message.content)
```
bash python quickstart.py
**Example output:**
```python
[
TextBlock(
text='Here are some effective search strategies for finding the latest renewable energy developments:\n\n**Search Terms to Use:**\n- "renewable energy news 2024"\n- "clean energy breakthroughs"\n- "solar/wind/battery technology advances"\n- "energy storage innovations"\n- "green hydrogen developments"\n- "renewable energy policy updates"\n\n**Reliable Sources to Check:**\n- **News & Analysis:** Reuters Energy, Bloomberg New Energy Finance, Greentech Media, Energy Storage News\n- **Industry Publications:** Renewable Energy World, PV Magazine, Wind Power Engineering\n- **Research Organizations:** International Energy Agency (IEA), National Renewable Energy Laboratory (NREL)\n- **Government Sources:** Department of Energy websites, EPA clean energy updates\n\n**Specific Topics to Explore:**\n- Perovskite and next-gen solar cells\n- Offshore wind expansion\n- Grid-scale battery storage\n- Green hydrogen production\n- Carbon capture technologies\n- Smart grid innovations\n- Energy policy changes and incentives...',
type="text",
)
]
```
Get your API key from the Claude Console and set it as an environment variable:
```bash
export ANTHROPIC_API_KEY='your-api-key-here'
```
Install the Anthropic TypeScript SDK:
```bash
npm install @anthropic-ai/sdk
```
Save this as quickstart.ts:
```typescript
import Anthropic from "@anthropic-ai/sdk";
async function main() {
const anthropic = new Anthropic();
const msg = await anthropic.messages.create({
model: "claude-opus-4-6",
max_tokens: 1000,
messages: [
{
role: "user",
content:
"What should I search for to find the latest developments in renewable energy?"
}
]
});
console.log(msg);
}
main().catch(console.error);
```
bash npx tsx quickstart.ts
**Example output:**
```javascript
const _ =
// output
{
id: "msg_01ThFHzad6Bh4TpQ6cHux9t8",
type: "message",
role: "assistant",
model: "claude-opus-4-6",
content: [
{
type: "text",
text:
"Here are some effective search strategies to find the latest renewable energy developments:\n\n" +
"## Search Terms to Use:\n" +
'- "renewable energy news 2024"\n' +
'- "clean energy breakthroughs"\n' +
'- "solar wind technology advances"\n' +
'- "energy storage innovations"\n' +
'- "green hydrogen developments"\n' +
'- "offshore wind projects"\n' +
'- "battery technology renewable"\n\n' +
"## Best Sources to Check:\n\n" +
"**News & Industry Sites:**\n" +
"- Renewable Energy World\n" +
"- CleanTechnica\n" +
"- GreenTech Media (now Wood Mackenzie)\n" +
"- Energy Storage News\n" +
"- PV Magazine (for solar)..."
}
],
stop_reason: "end_turn",
usage: {
input_tokens: 21,
output_tokens: 302
}
}
```
Get your API key from the Claude Console and set it as an environment variable:
```bash
export ANTHROPIC_API_KEY='your-api-key-here'
```
Add the Anthropic Java SDK to your project. First find the current version on Maven Central.
**Gradle:**
```groovy
implementation("com.anthropic:anthropic-java:1.0.0")
```
**Maven:**
```xml
<dependency>
<groupId>com.anthropic</groupId>
<artifactId>anthropic-java</artifactId>
<version>1.0.0</version>
</dependency>
```
Save this as QuickStart.java:
```java
import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.messages.Message;
import com.anthropic.models.messages.MessageCreateParams;
public class QuickStart {
public static void main(String[] args) {
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
MessageCreateParams params = MessageCreateParams.builder()
.model("claude-opus-4-6")
.maxTokens(1000)
.addUserMessage(
"What should I search for to find the latest developments in renewable energy?"
)
.build();
Message message = client.messages().create(params);
System.out.println(message.content());
}
}
```
bash javac QuickStart.java java QuickStart
**Example output:**
```java
[ContentBlock{text=TextBlock{text=Here are some effective search strategies to find the latest renewable energy developments:
## Search Terms to Use:
- "renewable energy news 2024"
- "clean energy breakthroughs"
- "solar/wind/battery technology advances"
- "energy storage innovations"
- "green hydrogen developments"
- "renewable energy policy updates"
## Best Sources to Check:
- **News & Analysis:** Reuters Energy, Bloomberg New Energy Finance, Greentech Media
- **Industry Publications:** Renewable Energy World, PV Magazine, Wind Power Engineering
- **Research Organizations:** International Energy Agency (IEA), National Renewable Energy Laboratory (NREL)
- **Government Sources:** Department of Energy websites, EPA clean energy updates
## Specific Topics to Explore:
- Perovskite and next-gen solar cells
- Offshore wind expansion
- Grid-scale battery storage
- Green hydrogen production..., type=text}}]
```
Next steps#
You made your first API call. Next, learn the Messages API patterns you’ll use in every Claude integration.
Learn multi-turn conversations, system prompts, stop reasons, and other core patterns.
Once you’re comfortable with the basics, explore further:
Compare Claude models by capability and cost. Browse all Claude capabilities: tools, context management, structured outputs, and more. Reference documentation for Python, TypeScript, Java, and other client libraries.