> ## Documentation Index
> Fetch the complete documentation index at: https://terminal49.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Terminal49 TypeScript SDK

> Use the Terminal49 TypeScript SDK to track containers, retrieve shipment data, and receive real-time updates from your Node.js or TypeScript application.

The Terminal49 TypeScript SDK lets you track containers, retrieve shipment data, and receive status updates from your Node.js applications.

## Requirements

* Node.js 18 or later
* A Terminal49 API key ([get one here](https://app.terminal49.com/developers/api-keys))

## Install

```bash theme={null}
npm install @terminal49/sdk
```

Package links:

* [npm package](https://www.npmjs.com/package/@terminal49/sdk)
* [GitHub source](https://github.com/Terminal49/API/tree/main/sdks/typescript-sdk)

## Support policy

* Node.js is the only supported runtime; browser, Deno, and Bun are not supported.
* Versioning follows npm package versions. Pin a specific version in production and review the [changelog](/updates/home) before upgrading.
* Use of the SDK is governed by [Terminal49's terms of service](https://www.terminal49.com/terms). The npm package does not declare an open-source license.

## Setup

Store your API key as an environment variable:

```bash theme={null}
export T49_API_TOKEN=your_api_key
```

Then initialize the client:

```typescript theme={null}
import { Terminal49Client } from '@terminal49/sdk';

const client = new Terminal49Client({
  apiToken: process.env.T49_API_TOKEN!,
});
```

## What you can do

* **Track containers** — Create tracking requests by container number, booking number, or bill of lading
* **List shipments and containers** — Query with filters by status, port, carrier, or date
* **Get transport events** — Pull milestones, timestamps, and location updates
* **Fetch routing details** — See the full journey including vessels and ports

For real-time updates, set up [webhooks](/api-docs/in-depth-guides/webhooks) to receive status changes as they happen.

## Next steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/sdk/quickstart">
    Track your first container in 5 minutes
  </Card>

  <Card title="Methods reference" icon="code" href="/sdk/methods">
    See all available SDK methods
  </Card>

  <Card title="TypeScript API reference" icon="brackets-curly" href="/sdk/reference">
    Browse SDK classes, interfaces, and types
  </Card>
</CardGroup>
