By the Octri team · Updated
Which languages should your SDK support? How to choose
Shipping an SDK in another language looks like a coverage decision. In practice it is a promise to maintain package releases, idiomatic names, supported runtimes and examples for people whose work you may never see. A popularity chart can suggest where to investigate, but your customers' code should decide where you commit.
Which languages should your SDK support?
Begin with evidence from three places: the languages you can identify in incoming API traffic, the environments customers tell you they build in, and the integrations you repeatedly help write in support. Those signals won't agree perfectly. A single enterprise customer may send most of your traffic from Java while hundreds of new users are trying Python scripts. Both matter, but for different reasons.
A useful initial portfolio is often TypeScript/JavaScript and Python, followed by a language tied to your product's actual audience. Treat that as a hypothesis you will test, not a universal ranking.
Read your API traffic
A User-Agent such as python-httpx/0.28.1 or Go-http-client/1.1 can hint at the caller's language. Aggregate by credential, organization and operation as well as request count, or one busy service will dominate the picture. Give your own SDKs distinct user agents that include a package version, so you can distinguish existing official-client users from people writing direct HTTP.
Beware the missing data. Browsers identify themselves, users can override the header and traffic passing through an integration platform may all look alike. A language inferred from logs is a lead for a conversation, not proof that the developer wants an SDK in it.
Know who your users are
Map language choices to deployment environments. A product integrated into backend SaaS applications often gets TypeScript, Python, Go and Java requests. A data product attracts Python notebooks and pipelines. An API designed to run inside mobile applications may justify Kotlin and Swift; an API that requires a secret server-side key might not.
Ask support and sales questions that expose the actual work: Which language does your integration run in? Which package are you already using? What did you have to implement around the HTTP call? The answer may point to a missing pagination helper in Python rather than a need for five additional languages.
What developers use
GitHub's 2026 Octoverse analysis offers an instructive outside perspective. GitHub reported that TypeScript remained its most-used language by monthly contributors, ahead of Python and JavaScript, and that all three grew substantially between September 2025 and September 2026. The authors also raised a new question: whether programming agents increasingly influence the language chosen for a fresh project.
For an API provider, the lesson is less about copying GitHub's ranking and more about watching how the definition of your audience changes. A language that is popular in GitHub repositories may not lead requests to your particular service, and a coding agent may prefer packages with precise types and working examples regardless of ecosystem size. Use surveys to fill gaps in your data, then return to your own integrations before making a commitment.

What similar APIs ship
Look at three APIs whose buyers resemble yours, rather than just the largest platforms on the internet. Review their officially maintained libraries and their release cadence. Stripe, Twilio and GitHub all offer established language clients, but each reflects its own history and user base. An API aimed at financial backends may have a different priority than an SDK intended to run inside an Android device.
Also check the status of the packages. A repository that exists but hasn't released support for a new API feature is not equivalent to an actively maintained official SDK.
A sensible order for adding languages
Choose the first two where you can provide an excellent experience. For many web-facing APIs that means TypeScript and Python. If your customers build enterprise services, Java or C# may outrank Python; if they build infrastructure, Go may deserve an early slot. Add the next language only after you have a repeatable build, test and publishing process for the existing ones.
One successful method in ten languages is a useful showcase; a complete, dependable client in two languages is a useful product. Expansion should follow the point when your automation and ownership can support complete coverage.

What each language costs
Every language adds its own package registry, compiler or interpreter matrix, dependency policy, formatting conventions, error behavior and release notes. Python callers will ask about sync versus async clients; Go callers expect context.Context and error; Java callers may expect builders and well-named checked or unchecked failures.
Budget for maintenance, not merely generation. Add a simple scorecard with customer demand, current usage, difficulty of idiomatic implementation, support capacity and expected business value. The score can change after a quarter of traffic and support data.
Checklist for choosing SDK languages
Before approving a new language, be able to name the users who requested it, an owner who can review its public API, an automated test matrix, a publishing path and the date when support begins. Decide whether you will support community libraries in other languages, and label those clearly so developers know who is responsible for fixes.
SDK languages with Octri
Octri can generate clients for multiple ecosystems from one specification, then expose per-language settings so the result does not simply look like TypeScript translated word for word. Use the preview to check initialization, argument style and method naming with a developer experienced in the target language.

For more on the maintenance obligation behind each package, see how to maintain an SDK.