AutoRest is an open source tool from Microsoft (MIT License) that generates client libraries for accessing RESTful APIs from OpenAPI specifications. It powers generation of Azure SDKs across C#, Python, Java, TypeScript, Go, PowerShell, and Swift with an extensible plugin architecture. Note: AutoRest is deprecated as of 2026 with retirement on July 1, 2026. The recommended successor is TypeSpec, a modern API description language and code generation platform from Microsoft.
AutoRest publishes 6 APIs on the APIs.io network. Tagged areas include Code Generation, Microsoft, OpenAPI, SDK Generation, and Azure SDK.
AutoRest’s developer surface includes documentation, getting-started guide, release notes, API reference, support, CLI, changelog, and 16 more developer resources.
The AutoRest Core package (@autorest/core) is the central engine that orchestrates code generation from OpenAPI specifications. It handles input processing, configuration resolu...
The AutoRest Python generator (@autorest/python) produces Python client libraries from OpenAPI specifications, generating typed Python code compatible with the Azure SDK for Pyt...
The AutoRest Java generator (@autorest/java) produces Java client libraries from OpenAPI specifications, generating Java code compatible with azure-core and the Azure SDK for Ja...
The AutoRest TypeScript generator (@autorest/typescript) produces TypeScript and JavaScript client libraries from OpenAPI specifications, generating type-safe clients for Node.j...
The AutoRest Go generator (@autorest/go) produces Go client libraries from OpenAPI specifications, generating idiomatic Go code compatible with the Azure SDK for Go and azure-sd...
Generate client SDKs from OpenAPI specifications in C#, Python, Java, TypeScript, JavaScript, Go, PowerShell, and Swift using language-specific generator plugins.
Extensible Plugin Architecture
AutoRest uses a pipeline-based plugin architecture where language generators, transformers, and validators are loaded as npm packages. Custom plugins can be developed to extend ...
OpenAPI Processing
Supports OpenAPI 2.0 (Swagger) and OpenAPI 3.0 specification formats. The modelerfour plugin normalizes OpenAPI schemas into a consistent code model shared across all language g...
Azure SDK Integration
Tightly integrated with Microsoft Azure SDK generation for all Azure services, producing SDK packages published to npm, PyPI, Maven, NuGet, and Go Modules.
Configuration File Support
Supports literate configuration using Markdown code blocks for per-client customization of generated output including namespace, output folder, and generator-specific options.
aid: autorest
name: AutoRest
description: 'AutoRest is an open source tool from Microsoft (MIT License) that generates client libraries for accessing RESTful
APIs from OpenAPI specifications. It powers generation of Azure SDKs across C#, Python, Java, TypeScript, Go, PowerShell,
and Swift with an extensible plugin architecture. Note: AutoRest is deprecated as of 2026 with retirement on July 1, 2026.
The recommended successor is TypeSpec, a modern API description language and code generation platform from Microsoft.'
type: Index
accessModel:
pricing: freemium
onboarding: unknown
trial: false
try_now: false
public: false
label: Freemium
confidence: medium
source:
- plans
generated: '2026-07-22'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/autorest.png
tags:
- Code Generation
- Microsoft
- OpenAPI
- SDK Generation
- Azure SDK
- Deprecated
url: https://raw.githubusercontent.com/api-evangelist/autorest/refs/heads/main/apis.yml
created: '2026-03-25'
modified: '2026-08-06'
specificationVersion: '0.23'
apis:
- aid: autorest:autorest-core
name: AutoRest Core
description: The AutoRest Core package (@autorest/core) is the central engine that orchestrates code generation from OpenAPI
specifications. It handles input processing, configuration resolution, pipeline management, and plugin coordination. All
language-specific generators are plugins that extend the core pipeline.
humanURL: https://github.com/Azure/autorest
tags:
- Code Generation
- OpenAPI
- Plugin System
- Pipeline
properties:
- type: Documentation
url: https://github.com/Azure/autorest/blob/main/docs/readme.md
- type: GettingStarted
url: https://github.com/Azure/autorest/blob/main/docs/install/readme.md
- type: GitHubRepository
url: https://github.com/Azure/autorest
- type: SDKs
url: https://www.npmjs.com/package/@autorest/core
title: npm Package
- aid: autorest:autorest-csharp
name: AutoRest C# Generator
description: The AutoRest C# generator (@autorest/csharp) produces .NET client libraries from OpenAPI specifications. It
generates strongly-typed C# code with HttpClient-based REST clients, model classes, and async/await patterns compatible
with .NET 6+.
humanURL: https://github.com/Azure/autorest.csharp
tags:
- C#
- .NET
- Code Generation
- Azure SDK
properties:
- type: Documentation
url: https://github.com/Azure/autorest.csharp
- type: GitHubRepository
url: https://github.com/Azure/autorest.csharp
- aid: autorest:autorest-python
name: AutoRest Python Generator
description: The AutoRest Python generator (@autorest/python) produces Python client libraries from OpenAPI specifications,
generating typed Python code compatible with the Azure SDK for Python and azure-core library.
humanURL: https://github.com/Azure/autorest.python
tags:
- Python
- Code Generation
- Azure SDK
properties:
- type: Documentation
url: https://github.com/Azure/autorest.python
- type: GitHubRepository
url: https://github.com/Azure/autorest.python
- aid: autorest:autorest-java
name: AutoRest Java Generator
description: The AutoRest Java generator (@autorest/java) produces Java client libraries from OpenAPI specifications, generating
Java code compatible with azure-core and the Azure SDK for Java ecosystem.
humanURL: https://github.com/Azure/autorest.java
tags:
- Java
- Code Generation
- Azure SDK
properties:
- type: Documentation
url: https://github.com/Azure/autorest.java
- type: GitHubRepository
url: https://github.com/Azure/autorest.java
- aid: autorest:autorest-typescript
name: AutoRest TypeScript Generator
description: The AutoRest TypeScript generator (@autorest/typescript) produces TypeScript and JavaScript client libraries
from OpenAPI specifications, generating type-safe clients for Node.js and browser environments compatible with the Azure
SDK for JavaScript.
humanURL: https://github.com/Azure/autorest.typescript
tags:
- TypeScript
- JavaScript
- Code Generation
- Azure SDK
properties:
- type: Documentation
url: https://github.com/Azure/autorest.typescript
- type: GitHubRepository
url: https://github.com/Azure/autorest.typescript
- aid: autorest:autorest-go
name: AutoRest Go Generator
description: The AutoRest Go generator (@autorest/go) produces Go client libraries from OpenAPI specifications, generating
idiomatic Go code compatible with the Azure SDK for Go and azure-sdk-for-go ecosystem.
humanURL: https://github.com/Azure/autorest.go
tags:
- Go
- Code Generation
- Azure SDK
properties:
- type: Documentation
url: https://github.com/Azure/autorest.go
- type: GitHubRepository
url: https://github.com/Azure/autorest.go
common:
- type: CodeOfConduct
url: https://github.com/Azure/.github/blob/main/CODE_OF_CONDUCT.md
- type: ContributionGuide
url: https://github.com/Azure/autorest/blob/main/CONTRIBUTING.md
- type: Website
url: https://github.com/Azure/autorest
- type: Documentation
url: https://github.com/Azure/autorest/blob/main/docs/readme.md
- type: GitHubOrganization
url: https://github.com/Azure
- type: GitHubRepository
url: https://github.com/Azure/autorest
- type: GettingStarted
url: https://github.com/Azure/autorest/blob/main/docs/install/readme.md
- type: ReleaseNotes
url: https://github.com/Azure/autorest/releases
- type: APIReference
url: https://github.com/Azure/autorest/blob/main/docs/generate/flags.md
title: Index of AutoRest Flags
- type: Support
url: https://github.com/Azure/autorest/issues
- type: Community
url: https://github.com/Azure/autorest/discussions
- type: License
url: https://github.com/Azure/autorest/blob/main/LICENSE
title: MIT License
- type: Packages
url: packages/autorest-packages.yml
- type: SDKs
url: packages/autorest-packages.yml
title: First-party npm packages and language generators
- type: CLI
url: cli/autorest-cli.yml
- type: Lifecycle
url: lifecycle/autorest-lifecycle.yml
- type: Deprecation
url: https://github.com/Azure/autorest/issues/5175
title: AutoRest deprecation and retirement (2026-07-01)
- type: ChangeLog
url: changelog/autorest-changelog.yml
- type: VulnerabilityDisclosure
url: security/autorest-vulnerability-disclosure.yml
- type: Security
url: https://github.com/Azure/autorest/blob/main/SECURITY.md
title: Microsoft Security Response Center disclosure policy
- type: Vocabulary
url: vocabulary/autorest-openapi-extensions.yml
title: AutoRest x-ms-* extensions for OpenAPI 2.0
- type: Conformance
url: conformance/autorest-conformance.yml
- type: LLMsTxt
url: llms/autorest-llms.txt
- type: Features
data:
- name: Multi-Language Code Generation
description: Generate client SDKs from OpenAPI specifications in C#, Python, Java, TypeScript, JavaScript, Go, PowerShell,
and Swift using language-specific generator plugins.
- name: Extensible Plugin Architecture
description: AutoRest uses a pipeline-based plugin architecture where language generators, transformers, and validators
are loaded as npm packages. Custom plugins can be developed to extend the generation pipeline.
- name: OpenAPI Processing
description: Supports OpenAPI 2.0 (Swagger) and OpenAPI 3.0 specification formats. The modelerfour plugin normalizes OpenAPI
schemas into a consistent code model shared across all language generators.
- name: Azure SDK Integration
description: Tightly integrated with Microsoft Azure SDK generation for all Azure services, producing SDK packages published
to npm, PyPI, Maven, NuGet, and Go Modules.
- name: Configuration File Support
description: Supports literate configuration using Markdown code blocks for per-client customization of generated output
including namespace, output folder, and generator-specific options.
- type: UseCases
data:
- name: Azure Service SDK Generation
description: Primary use case for generating Azure SDK client libraries for all Azure services from the azure-rest-api-specs
OpenAPI repository.
- name: REST API Client Generation
description: Generate strongly-typed client SDKs for any REST API described in OpenAPI format across multiple programming
languages simultaneously.
- name: SDK Customization
description: Use AutoRest configuration files and directives to customize generated code including renames, suppressions,
and additional properties.
- type: Integrations
data:
- name: Azure REST API Specs
description: AutoRest is the primary tool consuming the Azure/azure-rest-api-specs repository to generate official Azure
SDK client libraries.
- name: TypeSpec
description: TypeSpec is the recommended successor to AutoRest for new API definitions, with AutoRest generators serving
as code generation backends.
- name: npm
description: AutoRest and all language generator plugins are distributed as npm packages under the @autorest scope.
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
x-enrichment:
date: '2026-08-06'
status: enriched
artifacts_added: 8
pass: local-v1
x-surface:
kind: developer-tool
note: AutoRest is a locally installed code generator, not a hosted API. It has no baseURL, no authentication surface, no
rate limits and no status page, and no /.well-known/ or A2A surface of its own — the project is served entirely from github.com.
Artifacts here describe the tool's distribution, command surface, extension vocabulary and lifecycle. Absence of runtime
API artifacts is a property of what AutoRest is, not a gap in coverage.