Files
anthropics_skills/skills/claude-api/php/claude-api.md
T
Eric Harmeling 7029232b92 Add claude-api skill (#515)
Documentation skill for building applications with the Claude API
and Agent SDK. Covers Python, TypeScript, Java, Go, Ruby, C#, PHP,
and cURL with language-specific guides for:

- Messages API basics, streaming, and error handling
- Tool use (tool runner and manual agentic loop)
- Structured outputs and adaptive thinking
- Batches and Files APIs
- Agent SDK patterns (Python/TypeScript)
- Model catalog and selection guidance
2026-03-04 15:05:44 -05:00

1.5 KiB

Claude API — PHP

Note: The PHP SDK is the official Anthropic SDK for PHP. Tool runner and Agent SDK are not available. Bedrock, Vertex AI, and Foundry clients are supported.

Installation

composer require "anthropic-ai/sdk"

Client Initialization

use Anthropic\Client;

// Using API key from environment variable
$client = new Client(apiKey: getenv("ANTHROPIC_API_KEY"));

Amazon Bedrock

use Anthropic\BedrockClient;

$client = new BedrockClient(
    region: 'us-east-1',
);

Google Vertex AI

use Anthropic\VertexClient;

$client = new VertexClient(
    region: 'us-east5',
    projectId: 'my-project-id',
);

Anthropic Foundry

use Anthropic\FoundryClient;

$client = new FoundryClient(
    authToken: getenv("ANTHROPIC_AUTH_TOKEN"),
);

Basic Message Request

$message = $client->messages->create(
    model: 'claude-opus-4-6',
    maxTokens: 1024,
    messages: [
        ['role' => 'user', 'content' => 'What is the capital of France?'],
    ],
);
echo $message->content[0]->text;

Streaming

$stream = $client->messages->createStream(
    model: 'claude-opus-4-6',
    maxTokens: 1024,
    messages: [
        ['role' => 'user', 'content' => 'Write a haiku'],
    ],
);

foreach ($stream as $event) {
    echo $event;
}

Tool Use (Manual Loop)

The PHP SDK supports raw tool definitions via JSON schema. See the shared tool use concepts for the tool definition format and agentic loop pattern.