---
title: "Extend SDKs and Agent Skill | Extend"
description: "Give a coding agent the extend-api context file and the Python, TypeScript, Java, or Go SDK so the integration it writes is right the first time."
canonical: https://www.extend.ai/agents/sdk
---

# Extend SDKs and Agent Skill | Extend

[Agents](https://www.extend.ai/agents) / Integration path

## Let your agent write the integration

The extend-api context file is a compact brief on the API, SDKs, schema rules, sync-vs-async patterns, webhooks, and error handling, so the code your agent generates is right the first time.

### Install the skill

```bash
npx skills add extend-hq/extend-agent-plugin --skill extend-api
```

[Full docs](https://docs.extend.ai/sdks)

## Install an SDK

Create a key on the Developers dashboard and export it where the agent's code will run. SDK clients read it from the environment and set the auth header and API version for you.

### Python

```bash
pip install extend-ai
export EXTEND_API_KEY="sk_xxx"
```

### TypeScript

```bash
npm install extend-ai
export EXTEND_API_KEY="sk_xxx"
```

### Java

```text
implementation 'ai.extend:extend-java-sdk:1.13.0'   // Gradle
export EXTEND_API_KEY="sk_xxx"
```

### Go

```bash
go get github.com/extend-hq/extend-go-sdk
export EXTEND_API_KEY="sk_xxx"
```

[Developers dashboard](https://dashboard.extend.ai/developers)

## What the skill teaches

Installed at the project level as .agents/skills/extend-api/ so it can be committed with your repo. Re-run the same command after API updates.

- Authentication header and the x-extend-api-version: 2026-02-09 header required on raw HTTP requests
- Regions and base URLs for US1, US2, and EU1, and how to set baseUrl in each SDK
- Sync vs. async processing and the create_and_poll / createAndPoll helpers
- Webhook signature verification with verifyAndParse / verify_and_parse
- Schema rules for extraction, plus copy-paste patterns for parse, extract, classify, and split

**Go SDK** — Go has no polling or webhook helpers. An agent writing Go should poll and verify signatures manually.

## Prefer zero tooling?

The skill is a single file. Copy skills/extend-api/SKILL.md from the extend-agent-plugin repository into .agents/skills/extend-api/ (or ~/.agents/skills/extend-api/ for global use, with a symlink into ~/.claude/skills for Claude Code). Agents that only fetch docs can start from llms.txt.

```bash
npx skills add extend-hq/extend-agent-plugin --skill extend-api -g
```

[extend-agent-plugin](https://github.com/extend-hq/extend-agent-plugin) · [SKILL.md](https://github.com/extend-hq/extend-agent-plugin/blob/main/skills/extend-api/SKILL.md) · [llms.txt](https://docs.extend.ai/llms.txt)

## Minimal example

Parse a hosted document and print its markdown chunks. Each client reads EXTEND_API_KEY from the environment.

### TypeScript

```typescript
import { ExtendClient } from "extend-ai";

const client = new ExtendClient();

const response = await client.parse({
  file: { url: "https://extend-public-files.s3.us-east-2.amazonaws.com/bank_statement_example.pdf" },
});
console.log(response.status);

response.output.chunks.forEach((chunk) => console.log(chunk.content));
```

### Python

```python
from extend_ai import Extend

client = Extend()

response = client.parse(
    file={"url": "https://extend-public-files.s3.us-east-2.amazonaws.com/bank_statement_example.pdf"}
)
print(response.status)

for chunk in response.output.chunks:
    print(chunk.content)
```

## Frequently asked questions

### Should I install the extend-api skill per project or globally?

npx skills add installs at the project level so the configuration can be committed with your repo. Pass -g to install globally instead.

### How do I refresh the skill after an API update?

Re-run the same npx skills add command. The skill is a single SKILL.md, so you can also copy the latest file from the extend-agent-plugin repository.

### Does the Go SDK have polling and webhook helpers?

No. Python, TypeScript, and Java ship create_and_poll / createAndPoll and built-in webhook signature verification; Go has neither, so an agent writing Go should poll and verify signatures manually.

## Other ways to connect

### [MCP server](https://www.extend.ai/agents/mcp)

- **If your agent** If your agent calls tools from chat (Cursor, Claude, ChatGPT, and other MCP clients)
- **Give it** The hosted MCP server. OAuth sign-in, nothing to install.

### [CLI and extend-cli skill](https://www.extend.ai/agents/cli)

- **If your agent** If your agent runs one-off and shell-driven document jobs
- **Give it** The extend CLI and the extend-cli skill generated from its command tree.
