---
title: "Choose an SDK or API"
description: "Compare SeatLayer client SDKs, seven server SDKs, and REST/OpenAPI, then follow the shortest production path for your application stack."
---

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

# Choose an SDK or API

Choose the surface that matches where your code runs and how much of the buyer
experience your product should own. Client SDKs select and hold inventory;
trusted server code inspects the hold and confirms booking.

> **Check exact release status before installing**
>
> Package versions and release channels change independently. Use the
> [machine-readable SDK catalog](/sdk-catalog.json) for the current package,
> registry, source, stability, and verification evidence, then follow the
> selected SDK guide for implementation.

## Choose by runtime

| Your code runs in | Start here | Best when |
|---|---|---|
| Browser or web framework | [Web SDKs](/buyer-sdk/web/) | JavaScript, TypeScript, React, Vue, or Angular owns the buyer page |
| Native mobile application | [Native app SDKs](/buyer-sdk/mobile/) | Flutter, React Native, Swift, or Kotlin owns the app screen |
| Trusted application server | [Server SDKs](/server-sdk/) | You want an idiomatic client for Node.js, Python, PHP, Java, Go, Ruby, or .NET |
| Any HTTPS-capable backend | [REST API and OpenAPI](/server-api/) | You want direct HTTP control or generated clients for another language |

## Make the next choice on the platform page

Each platform page owns the choices that only apply there:

- **Web:** the [Web SDKs](/buyer-sdk/web/) page compares the JavaScript, React,
  Vue, and Angular packages and the ready-made `SeatPicker` against the
  map-only `SeatingChart`.
- **Native apps:** the [Native app SDKs](/buyer-sdk/mobile/) page compares
  Flutter, React Native, iOS, and Android and the four levels of buyer UI you
  can own.
- **Server:** the [Server SDKs](/server-sdk/) page lists the seven languages
  and the booking contract they share.
- **Several dates in one purchase:** choose an
  [Event, Performance Group, or Season](/start/inventory-models/) first. The
  [Client SDKs](/buyer-sdk/) page shows which buyer component fits each model.

If you have not yet decided whether your product or SeatLayer owns checkout,
start with [Choose an integration](/start/choose-an-integration/).

## Keep the trust boundary fixed

The browser or mobile app may select inventory, create a temporary hold, and
send its opaque `holdId` to your backend. Only trusted server code should hold a
secret key, inspect authoritative hold contents, calculate the charge, and book
with a stable `bookingRef`.

Continue with the [REST API overview](/server-api/) for the HTTP contract
behind every SDK.

Source: https://docs.seatlayer.io/sdks/index.mdx
