---
title: "SDKs"
description: "Official IntoSQL SDKs for TypeScript, PHP, Python, Java, Go, .NET and Ruby - convert spreadsheets, CSV and JSON into SQL from your own code."
canonical: https://intosql.com/docs/sdks
last_updated: 2026-10-15
---

# SDKs

Each SDK wraps the [IntoSQL API](/docs/api) in its language. One call uploads a file, starts the conversion and waits for the SQL; the same calls open, list, cancel and delete conversions, read the month's usage and check webhooks.

> **Pro:** The API is part of IntoSQL Pro. Make an API key in [Settings, API keys](https://intosql.com/settings/api-keys) and keep it out of your source code.

| Language   | Package                                     | Install                                     | Guide                               |
| ---------- | ------------------------------------------- | ------------------------------------------- | ----------------------------------- |
| TypeScript | `@intosql/sdk` on npm                       | `npm install @intosql/sdk`                  | [TypeScript](/docs/sdks/typescript) |
| PHP        | `intosql/intosql` on Packagist              | `composer require intosql/intosql`          | [PHP](/docs/sdks/php)               |
| Python     | `intosql` on PyPI                           | `pip install intosql`                       | [Python](/docs/sdks/python)         |
| Java       | `com.intosql:intosql` on Maven Central      | [Maven or Gradle](/docs/sdks/java#install)  | [Java](/docs/sdks/java)             |
| Go         | `github.com/alfonsobries/intosql-go` module | `go get github.com/alfonsobries/intosql-go` | [Go](/docs/sdks/go)                 |
| .NET       | `IntoSQL` on NuGet                          | `dotnet add package IntoSQL`                | [.NET](/docs/sdks/dotnet)           |
| Ruby       | `intosql` gem on RubyGems                   | `gem install intosql`                       | [Ruby](/docs/sdks/ruby)             |

## What every SDK does

- **Convert in one call:** upload a file or pass a public HTTPS address, wait, and get the conversion with its download address.
- **Errors you can branch on:** a failed request carries the HTTP status, a stable `code` and the request id to quote when you write to us. A failed conversion carries its own code and the problems the engine found.
- **Safe retries:** rate limits, a full account, server errors and lost connections are retried with the same idempotency key, so a retry never starts a second conversion.
- **Webhooks:** verify the `IntoSQL-Signature` header and read the event, typed.
- **Your API key stays on the API:** the SDKs never send it to another address, including the storage the file uploads to.

Names follow each language: `convertUrl` in TypeScript is `convert_url` in Python and Ruby, `ConvertURL` in Go and `ConvertUrlAsync` in .NET.

## Without an SDK

Any HTTP client works. The [API reference](/docs/api/conversions) shows each request in curl and in every SDK, and the [OpenAPI document](/api/v1/openapi.json) describes every endpoint for code generators.
