openapi: 3.1.0 info: title: NuGet Catalog Autocomplete API description: The NuGet Catalog API is an append-only resource that records the full history of all package events on nuget.org, including packages being added, modified, listed, unlisted, deleted, deprecated, and having vulnerability status updated. It provides a chronologically ordered log of every change to the package source, enabling consumers to build and maintain their own local copy of the entire set of packages available on nuget.org. The catalog is indexed by time and uses a hierarchical structure of index, pages, and leaves. Not all package sources implement the catalog resource. version: 3.0.0 contact: name: NuGet Support url: https://github.com/NuGet/Home/issues termsOfService: https://www.nuget.org/policies/Terms servers: - url: https://api.nuget.org/v3/catalog0 description: NuGet.org Catalog security: [] tags: - name: Autocomplete description: Autocomplete package IDs and enumerate package versions for typeahead and discovery features. paths: /autocomplete: get: operationId: autocompletePackageIds summary: Autocomplete package IDs description: Searches for package IDs matching a substring. This endpoint supports typeahead features in user interfaces integrated with a NuGet package source. Packages with only unlisted versions do not appear in results. The base URL for this endpoint must be obtained from the service index using the SearchAutocompleteService resource type. tags: - Autocomplete parameters: - $ref: '#/components/parameters/SearchQuery' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/Take' - $ref: '#/components/parameters/Prerelease' - $ref: '#/components/parameters/SemVerLevel' - $ref: '#/components/parameters/PackageType' responses: '200': description: Successful autocomplete results content: application/json: schema: $ref: '#/components/schemas/AutocompleteResponse' /autocomplete-versions: get: operationId: enumeratePackageVersions summary: Enumerate package versions description: Enumerates all listed versions for a given package ID. Unlisted versions do not appear in the results. This endpoint uses the same SearchAutocompleteService base URL with the id parameter instead of the q parameter. tags: - Autocomplete parameters: - name: id in: query required: true description: The package ID to fetch versions for. schema: type: string - $ref: '#/components/parameters/Prerelease' - $ref: '#/components/parameters/SemVerLevel' responses: '200': description: Successful version enumeration results content: application/json: schema: $ref: '#/components/schemas/VersionEnumerationResponse' components: parameters: PackageType: name: packageType in: query required: false description: The package type name to filter results. Added in SearchQueryService/3.5.0. If empty or not provided, no filter is applied. schema: type: string SearchQuery: name: q in: query required: false description: The search terms used to filter packages. If not provided, all packages are returned within the boundaries of skip and take. schema: type: string Skip: name: skip in: query required: false description: The number of results to skip for pagination. Defaults to 0. On nuget.org, limited to 3000. schema: type: integer default: 0 minimum: 0 Take: name: take in: query required: false description: The number of results to return for pagination. The server may impose a maximum value. On nuget.org, limited to 1000. schema: type: integer minimum: 1 Prerelease: name: prerelease in: query required: false description: When true, pre-release packages are included in results. Defaults to false, which excludes pre-release packages. schema: type: boolean default: false SemVerLevel: name: semVerLevel in: query required: false description: A SemVer version string used to opt-in to SemVer 2.0.0 packages. If excluded, only SemVer 1.0.0 compatible versions are returned. Use 2.0.0 to include SemVer 2.0.0 packages. schema: type: string example: 2.0.0 schemas: AutocompleteResponse: type: object description: The response from a package ID autocomplete query. required: - totalHits - data properties: totalHits: type: integer description: The total number of matches, disregarding skip and take. data: type: array description: The package IDs matched by the request. items: type: string VersionEnumerationResponse: type: object description: The response from a package version enumeration query. required: - data properties: data: type: array description: The package versions matched by the request. items: type: string externalDocs: description: NuGet Catalog API Documentation url: https://learn.microsoft.com/en-us/nuget/api/catalog-resource