---
title: API SDKs
description: Official SDKs for interacting with the tldiagram API using various
  programming languages and ecosystems.
editUrl: true
head: []
template: doc
sidebar:
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';

To integrate tldiagram into your existing tools or automate your architecture diagramming, we provide official SDKs for many popular languages and ecosystems, hosted on [Buf](https://buf.build/tldiagramcom/diagram).

Our API is defined using Protocol Buffers, allowing you to use high-performance, strongly-typed clients for your favorite language.

## SDKs by Language

<CardGrid>
  <LinkCard title="Go" href="https://buf.build/tldiagramcom/diagram/sdks/main:go" />
  <LinkCard title="TypeScript" href="https://buf.build/tldiagramcom/diagram/sdks/main:typescript" />
  <LinkCard title="JavaScript" href="https://buf.build/tldiagramcom/diagram/sdks/main:javascript" />
  <LinkCard title="Python" href="https://buf.build/tldiagramcom/diagram/sdks/main:python" />
  <LinkCard title="Rust" href="https://buf.build/tldiagramcom/diagram/sdks/main:rust" />
  <LinkCard title="Java" href="https://buf.build/tldiagramcom/diagram/sdks/main:java" />
  <LinkCard title="Kotlin" href="https://buf.build/tldiagramcom/diagram/sdks/main:kotlin" />
  <LinkCard title="Swift" href="https://buf.build/tldiagramcom/diagram/sdks/main:swift" />
  <LinkCard title="Dart" href="https://buf.build/tldiagramcom/diagram/sdks/main:dart" />
  <LinkCard title="C#" href="https://buf.build/tldiagramcom/diagram/sdks/main:csharp" />
  <LinkCard title="C++" href="https://buf.build/tldiagramcom/diagram/sdks/main:cpp" />
  <LinkCard title="Ruby" href="https://buf.build/tldiagramcom/diagram/sdks/main:ruby" />
  <LinkCard title="PHP" href="https://buf.build/tldiagramcom/diagram/sdks/main:php" />
  <LinkCard title="Scala" href="https://buf.build/tldiagramcom/diagram/sdks/main:scala" />
  <LinkCard title="Objective-C" href="https://buf.build/tldiagramcom/diagram/sdks/main:objectivec" />
  <LinkCard title="C" href="https://buf.build/tldiagramcom/diagram/sdks/main:c" />
</CardGrid>

## Ecosystems

<CardGrid>
  <Card title="Connect">
    Simplified Protobuf RPC for web and mobile.
    [View on Buf](https://buf.build/tldiagramcom/diagram/sdks/main:connectrpc)
  </Card>
  <Card title="gRPC">
    High-performance RPC framework for cloud-native apps.
    [View on Buf](https://buf.build/tldiagramcom/diagram/sdks/main:grpc)
  </Card>
  <Card title="Protobuf">
    Base definitions for all message types.
    [View on Buf](https://buf.build/tldiagramcom/diagram/sdks/main:protobuf)
  </Card>
</CardGrid>

## Custom Implementations

If your preferred language is not listed above, you can still generate your own client using the base [Protobuf definitions](https://buf.build/tldiagramcom/diagram/sdks/main:protobuf) with the appropriate generator for your language.