For client integrations, the strongest matches are azure/autorest (AutoRest is a multi-language SDK generator that translates OpenAPI), microsoft/kiota (Kiota is a multi-language SDK generator and REST API) and openapitools/openapi-generator-cli (OpenAPI Generator CLI is a robust client integration library). swagger-api/swagger-codegen and openapitools/openapi-generator round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best open-source API client libraries on GitHub, ranked by stars and activity, to compare features and pick the right one.
AutoRest is a multi-language SDK generator and OpenAPI code generator designed to produce consistent software development kits from a single API definition. It functions as a REST API client generator that transforms Swagger and OpenAPI specification files into functional, typed HTTP client libraries. The tool automates the SDK development workflow by converting design documents into source code, ensuring that the resulting implementations match the defined API contract across different programming languages. The system employs specification-driven development using an intermediate represent
AutoRest is a multi-language SDK generator that translates OpenAPI specifications into typed client libraries, fitting the integration toolkit category with support for generating cross-platform code and type safety.
Kiota is a multi-language SDK generator and REST API client orchestrator that transforms OpenAPI descriptions into strongly typed client libraries. It provides a framework for managing API specifications and generating typed interfaces to eliminate manual boilerplate development. The project utilizes a template-driven source emission system to map API specifications to native language types. It ensures consistency across environments using lock-file version syncing and organizes API endpoints into a nested object structure based on the hierarchical mapping of URI paths. The toolset includes
Kiota is a multi-language SDK generator and REST API client orchestrator that turns OpenAPI specs into strongly typed clients, making it a comprehensive tool for this integration category.
OpenAPI Generator CLI is a command-line utility designed to automate the creation of API artifacts from specification files. It functions as a tool for generating client libraries, server stubs, and documentation, enabling developers to produce consistent boilerplate code and reference materials across various programming languages. The project provides a wrapper that manages the lifecycle of a Java-based execution engine, which performs the actual code synthesis using logic-less templates. To ensure reproducible results and avoid dependency conflicts on the host system, the tool supports ver
OpenAPI Generator CLI is a robust client integration library and SDK generator that automates multi-language API client creation, type safety, and boilerplate reduction directly from your specification files.
Swagger Codegen is a template-driven engine and multi-language toolkit used to generate API client SDKs, server stubs, and human-readable documentation from OpenAPI specifications. It translates these specifications into functional libraries and boilerplate routing code across various target programming languages. The tool utilizes a pluggable generator module system and an integrated template engine, allowing for the customization of generated source code and the creation of new language-specific generators. It supports flexible specification sourcing via local files, remote HTTP endpoints,
Swagger Codegen is a multi-language toolkit that generates API client SDKs from OpenAPI specifications, featuring type safety, customizable templates, and broad language support.
This project is a command-line tool and template-based scaffolding engine that transforms API interface specifications into functional client libraries and server stubs. By automating the creation of type-safe SDKs and boilerplate code, it bridges the gap between service definitions and implementation, allowing developers to maintain synchronized codebases across many programming languages. The tool distinguishes itself through a portable execution model that utilizes containerized build isolation to ensure identical output regardless of the host environment. It features a modular, plugin-bas
This command-line tool transforms API specifications into functional client libraries and server stubs across many programming languages, matching the required SDK generation capabilities.
Openapi-typescript-codegen is a code generation tool that parses OpenAPI specification files, URLs, or strings to build type-safe TypeScript or JavaScript network clients. It transforms raw API definitions into structured internal abstract syntax trees before mapping them onto custom text templates. The tool provides a pluggable network layer that supports interchangeable transport libraries such as Fetch or Axios. It normalizes diverse endpoint structures into a unified internal schema to generate strongly typed client source code. Execution occurs synchronously through command line argumen
This tool parses OpenAPI specs to generate type-safe TypeScript clients, fulfilling the core SDK generation need for client integration though focused on a single language rather than multi-language support.
swagger-typescript-api is a utility that parses OpenAPI definitions to generate strongly typed data models and service wrappers for web applications. It transforms OpenAPI specifications into type-safe TypeScript API clients, removing the need for manual request and response boilerplate. The generator produces interchangeable client logic via pluggable transport adapters, allowing users to switch between Fetch and Axios for network requests. It uses template-based source emission to inject generated types and methods into a consistent client structure. The project handles the mapping of Open
This repository is a schema-driven code generator that produces type-safe TypeScript API clients from OpenAPI definitions, fitting the requested integration category well despite its focus on a single target language rather than broad multi-language support.
Fern is a toolset for managing API specifications, generating type-safe client libraries, and producing hosted developer documentation. It provides a utility for validating, transforming, and exporting API definitions into standardized OpenAPI formats, serving as a system to maintain a consistent source of truth for API designs. The project differentiates itself through an automated SDK distribution pipeline that publishes generated libraries to package managers such as npm, PyPI, Maven, and NuGet. It also includes an AI-powered search assistant trained on API and SDK specifications to answer
Fern is a specialized toolset for generating type-safe client libraries and managing API specifications, directly fitting the role of a client integration and SDK generation tool.
The Google API Go Client Library is a collection of auto-generated Go packages designed to facilitate authenticated requests to Google services via HTTP and gRPC. It serves as an API request and response manager that converts API discovery documents into typed code to provide a consistent interface for interacting with various services. The library includes a dedicated OAuth 2.0 authentication client used to manage token lifecycles, handle service account credentials, and perform authorization flows. It supports identity impersonation, allowing a security context to assume the identity of a t
This Go client library provides auto-generated, type-safe API access to Google services with built-in OAuth 2.0 authentication management and robust error handling.
Feign is a declarative Java HTTP client that automates the generation of web service clients. It allows developers to define REST API endpoints using interfaces and annotations, removing the need to write manual request and response boilerplate code. The project uses dynamic proxies to map method calls to HTTP request templates. It features a pluggable pipeline of encoders and decoders to transform Java objects into request bodies and convert response bodies back into type-safe objects. The library covers a broad range of integration capabilities, including request interception for header ma
Feign is a Java-based client integration library that simplifies service communication through declarative interfaces and automatic API client generation, though its language support is strictly focused on Java rather than multi-language environments.
openapi-ts is a tool and orchestrator used to convert OpenAPI specifications into type-safe TypeScript SDKs and HTTP client implementations. It automatically generates typed interfaces and request functions from API definitions to ensure consistency between the server and the client. The project employs a transport-agnostic client interface, decoupling high-level API calls from the underlying network library. It uses a plugin-based generation pipeline and a custom plugin architecture to allow for the customization of output types and validation schemas. The system provides capabilities for n
This tool converts OpenAPI specifications into type-safe TypeScript SDKs and HTTP client implementations, directly matching your need for client integration libraries and code generation tools.
oapi-codegen is an OpenAPI specification compiler and code generator for Go. It transforms OpenAPI definitions into type-safe Go client libraries, server boilerplate, and data models to facilitate contract-first API development. The tool distinguishes itself through a flexible customization system that allows users to override generated types and imports via specification extensions. It supports the use of custom text templates to redefine the final source code structure and provides a specification overlay mechanism to modify or remove endpoints without altering the original source file. Th
It generates type-safe Go client libraries and server boilerplate from OpenAPI specifications, though it focuses purely on Go rather than multi-language support.
Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined interface for executing network requests, managing server-sent event streams, and automatically mapping JSON and XML responses into data structures. The library includes built-in mechanisms for service resilience and traffic management, such as circuit breakers to prevent cascading failures, token-bucket rate limiting, and automated request retries with exponential backoff. It also features client-side load balancing to distribute outgoing traffic across multiple base URLs and requ
Resty is a Go-based HTTP client library designed for consuming REST services with built-in retry, rate limiting, and authentication support, making it a strong integration tool despite being restricted to a single language rather than multi-language support.
Feign is a declarative Java HTTP client framework that maps method signatures to REST API requests. It functions as an HTTP interface mapper, allowing the creation of type-safe clients by defining service interfaces with annotations to eliminate manual request logic. The framework features a pluggable HTTP transport layer, which decouples request definition from execution by routing network traffic through interchangeable underlying HTTP engines. It provides a comprehensive request management pipeline including interceptors for modifying headers, policy-driven retry logic for failure recover
Feign is a declarative Java HTTP client framework that provides type-safe API client generation and request management features, making it a solid integration tool despite being restricted to the Java ecosystem rather than multi-language support.
go-swagger is a toolkit for working with Swagger/OpenAPI 2.0 specifications in Go. It generates server, client, and CLI code from a specification document, and can also produce a specification by scanning annotated Go source code. The project includes a static validation engine that checks documents against the schema and project-specific rules, and a specification transformation pipeline that resolves, flattens, and merges documents. The toolkit generates both client and server code from the same specification, ensuring consistency in request and response handling. It also produces a command
This toolkit generates API client code and models from OpenAPI specifications in Go, fulfilling the requirement for client integration and code generation despite its language-specific focus.
The Google API Node.js client is a development kit designed for integrating Google Cloud services into server-side JavaScript applications. It provides generated interfaces that map application calls to remote service endpoints, enabling developers to execute requests and interact with cloud resources through a unified library. The library distinguishes itself through a modular architecture that allows developers to install specific service submodules individually, which optimizes application bundle sizes and improves startup performance. It also features automated OAuth2 token lifecycle mana
This repository provides a dedicated client SDK for connecting Node.js applications to Google Cloud services with built-in OAuth2 authentication and modular support, though it is limited to a single language rather than multi-language support.
Orval is an OpenAPI-to-TypeScript code generator that produces fully typed API clients, data-fetching hooks, mock data, validation schemas, and server handlers from OpenAPI or Swagger specifications. It reads any YAML or JSON API specification and generates TypeScript interfaces, HTTP request functions, and framework-specific integration code that ensures compile-time correctness for all API calls. The project distinguishes itself by generating production-ready data-fetching hooks for React Query, Vue Query, Svelte Query, Solid Query, Angular, and SWR, complete with automatic cache invalidati
Orval is an OpenAPI-to-TypeScript code generator that produces fully typed API clients and data-fetching hooks, matching the need for client integration libraries and SDK generation tools.
Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different JavaScript execution environments, including the browser and Node.js. It functions as a JSON API client that serializes JavaScript objects into JSON and parses server responses into structured data. The project features a system for managing reusable client instances with shared configurations, such as base URLs and default settings. It includes a mechanism for intercepting outgoing requests and incoming responses globally, allowing data to be transformed before it reaches the
Axios is a promise-based HTTP client library for JavaScript environments that handles network requests, request and response interception, and error management, making it a solid building block for API integration though limited to a single language ecosystem.
ServiceStack is a high-performance .NET web framework designed for building type-safe APIs using strongly-typed request and response objects. It functions as a message-based API engine that decouples business logic from the transport layer, allowing services to be exposed via multiple protocols including HTTP, gRPC, and various message queue providers. The framework is distinguished by its type-safe API generator, which produces native client SDKs and data transfer objects from service metadata across multiple languages. It also includes a distributed service gateway for microservices orchest
ServiceStack is a comprehensive .NET web framework and API engine that generates type-safe native client SDKs across multiple languages, making it a powerful tool for service integration despite being primarily a backend framework rather than a pure client library.
Retrofit is a type-safe HTTP client that simplifies network communication by allowing developers to define API endpoints as interface methods. By using annotation-driven request mapping, it automatically translates these interface definitions into structured HTTP requests, ensuring consistent data structures and reducing manual configuration when interacting with remote web services. The project distinguishes itself through a highly modular architecture that separates network transport from data handling. It utilizes dynamic proxy generation to process method calls at runtime and offers a plu
Retrofit is a type-safe HTTP client library for Java and Android that simplifies third-party service integration using interface definitions and annotation-driven request mapping, though it lacks built-in multi-language generation.
Alamofire is an HTTP networking library that provides a foundation for managing network requests and responses through a chainable, type-safe interface. It serves as an asynchronous request manager, coordinating concurrent network operations and data streams while maintaining application responsiveness. The library distinguishes itself through a protocol-oriented request adaptation system, which utilizes interceptors to modify or authenticate requests before dispatch. It employs a middleware-driven pipeline to process traffic, handling encoding, authentication, and error recovery in a modular
Alamofire is a type-safe networking library for Swift applications that handles HTTP requests, authentication, and error recovery, though it focuses specifically on the Apple ecosystem rather than multi-language support.
Requests is a high-level HTTP client library designed to simplify web communication and API integration. It provides an intuitive, human-readable interface for performing standard network operations, including request execution, connection pooling, and stateful session management. By encapsulating raw network data into structured objects, the library automates the complexities of headers, cookies, and payload transmission. The library distinguishes itself through a modular transport adapter layer that allows for custom protocol handling and extensible authentication hooks. It supports a wide
Requests is a popular Python HTTP client library that simplifies API integration and web communication, though it lacks built-in multi-language support, automated API client generation, and native rate limiting.
The OpenAI Python library is a generative AI client library designed to simplify communication with large language model services. It functions as a language-specific software development kit that maps local code calls to remote service endpoints, enabling the integration of text generation, data analysis, and reasoning tasks into software applications. The library acts as a structured abstraction layer that manages the complexities of network-based service interactions, including authentication, connection pooling, and header management. It distinguishes itself through built-in request orche
This repository provides a language-specific software development kit for integrating OpenAI services into Python applications, handling authentication, resilience, and type safety, though it is limited to Python rather than offering multi-language support.
Octokit.js is a GitHub API SDK used to interact with GitHub via REST and GraphQL interfaces. It serves as a client for executing typed queries and mutations, managing authenticated REST requests, and handling signed webhooks across Node.js, Deno, and browser environments. The library features a plugin-based request pipeline and an adapter-based HTTP client, allowing the interception of requests and responses across different runtimes. It employs strategy-based authentication to separate credential management from request logic, supporting static tokens, OAuth flows, and GitHub App installatio
Octokit.js is a dedicated GitHub API SDK that provides authentication management, type safety, and multi-runtime support for client integration, missing general third-party service coverage beyond GitHub.
The AWS SDK for JavaScript is a programmatic interface and API client used to manage, automate, and orchestrate AWS cloud infrastructure and services. It provides a set of tools for controlling compute, storage, and networking resources from Node.js and web browser environments. The project includes a modular asset bundler that allows for the creation of specialized service bundles. This mechanism enables the selection of specific service modules at build time to reduce the final JavaScript payload size for frontend cloud integrations. The SDK covers a broad range of cloud management capabil
This modular JavaScript SDK connects applications to AWS cloud infrastructure with multi-language and multi-environment capabilities, though its scope is tied specifically to Amazon Web Services rather than general third-party services.
This is a typed server-side library and payment gateway SDK for integrating Stripe into Node.js applications. It provides a typed client to manage payments, customers, and subscriptions, while offering specialized tools for executing secure financial transactions and managing billing resources. The library distinguishes itself through an idempotent API client that prevents duplicate operations using idempotency keys and exponential backoff retry logic. It includes a webhook signature validator to verify that incoming HTTPS event notifications are authentic and an async-iterator pagination wra
This typed server-side SDK connects Node.js applications to the Stripe platform, providing robust error handling, retries, type safety, and pagination support for your integration needs.
Visit the documentation site for all the lovely details.
This repository provides official client integration tools and libraries for connecting applications to the Slack platform, offering strong type safety and language-specific support even though it is tailored to a single third-party service rather than general API generation.
Apollo Client is a GraphQL client library and data fetching framework used to request data from a GraphQL server and synchronize that state within a frontend application. It functions as a remote state manager and a local state management tool, allowing developers to define client-side schemas and resolvers for data that does not reside on a remote server. The project features a normalized GraphQL cache that identifies objects by ID to ensure referential equality and consistent data updates across different queries. It also includes a GraphQL API mocking tool to simulate server responses and
Apollo Client is a robust GraphQL client library for connecting frontend applications to backend APIs, offering strong type safety and error handling, though its scope is focused specifically on GraphQL rather than general multi-service API generation.
Swift client for Kubernetes
Swiftkube is a client library specifically designed to connect Swift applications to the Kubernetes API, fitting the integration tool category while being limited to a single target platform and language.
This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication. It provides a set of tools for managing headers, cookies, and SSL configurations, along with a dedicated command-line interface for executing one-off HTTP commands and managing interactive API testing sessions. The project differentiates itself through its resource modeling capabilities, which allow for the definition of persistent base URLs and credentials to construct nested subresource endpoints. It also features a multipart request handler that detects MIME types to upload
This Ruby HTTP client provides tools for REST API integration and resource modeling, making it a useful building block for client integration despite missing out-of-the-box multi-language support and automated SDK generation.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| azure/autorest | 4.8K | TypeSpec | MIT | |
| microsoft/kiota | 3.8K | C# | MIT | |
| openapitools/openapi-generator-cli | 2K | TypeScript | Apache-2.0 | |
| swagger-api/swagger-codegen | 17.8K | Mustache | Apache-2.0 | |
| openapitools/openapi-generator | 26.4K | Java | Apache-2.0 | |
| ferdikoomen/openapi-typescript-codegen | 3.4K | TypeScript | MIT | |
| acacode/swagger-typescript-api | 4.1K | TypeScript | MIT | |
| fern-api/fern | 3.7K | TypeScript | Apache-2.0 | |
| googleapis/google-api-go-client | 4.4K | Go | bsd-3-clause | |
| netflix/feign | 9.8K | Java | Apache-2.0 |