BYTETOOLS

NuGet API

Free NuGet API with no key: search .NET packages, get versions, download counts, descriptions and authors from the official registry. Tested curl example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 19 Aug 2026

What is the NuGet API?

The NuGet search API is a free, key-free endpoint for querying the official .NET package registry, returning package metadata, all versions, total downloads, authors and descriptions.

NuGet's API is service-index driven: a root document lists the available service endpoints, which clients then use. For most purposes you can skip that indirection and hit the search service directly, which is what the example here does.

One practical warning: the registration endpoints come in gzipped and non-gzipped variants, and the `-gz-` paths return compressed bytes that will look like binary garbage if your client does not decompress. The search endpoint returns plain JSON and is easier to work with.

Quick facts

Base URL
https://azuresearch-usnc.nuget.org
Authentication
No API key for reads. Pushing packages requires an API key.
Rate limit
No published limit on the search service.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the NuGet API

Every request below was executed against the live API on 19 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Search the NuGet registry

GET https://azuresearch-usnc.nuget.org/query?q=newtonsoft.json&take=1

curl
curl 'https://azuresearch-usnc.nuget.org/query?q=newtonsoft.json&take=1'
JavaScript (fetch)
const res = await fetch("https://azuresearch-usnc.nuget.org/query?q=newtonsoft.json&take=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://azuresearch-usnc.nuget.org/query?q=newtonsoft.json&take=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "@context": {
    "@vocab": "http://schema.nuget.org/schema#",
    "@base": "https://api.nuget.org/v3/registration5-semver1/"
  },
  "totalHits": 942,
  "data": [
    {
      "@id": "https://api.nuget.org/v3/registration5-semver1/newtonsoft.json/index.json",
      "@type": "Package",
      "registration": "https://api.nuget.org/v3/registration5-semver1/newtonsoft.json/index.json",
      "id": "Newtonsoft.Json",
      "version": "13.0.4",
      "description": "Json.NET is a popular high-performance JSON framework for .NET",
      "summary": "",
      "title": "Json.NET",
      "iconUrl": "https://api.nuget.org/v3-flatcontainer/newtonsoft.json/13.0.4/icon",
      "licenseUrl": "https://www.nuget.org/packages/Newtonsoft.Json/13.0.4/license",
      "projectUrl": "https://www.newtonsoft.com/json",
      "tags": [
        "json"
      ],
      "authors": [
        "James Newton-King"
      ],
      "owners": [
        "dotnetfoundation",
        "jamesnk",
        "newtonsoft"
      ],
      "totalDownloads": 8965457385,
      "verified": true,
      "packageTypes": [
        {
          "name": "Dependency"
        }
      ],
      "versions": [
        {
          "version": "3.5.8",
          "downloads": 5483746,
          "@id": "https://api.nuget.org/v3/registration5-semver1/newtonsoft.json/3.5.8.json"
        },
        {
          "version": "4.0.1",
          "downloads": 876549,
          "@id": "https://api.nuget.org/v3/registration5-semver1/newtonsoft.json/4.0.1.json"
        },
        {
          "version": "4.0.2",
          "downloads": 979034,
          "@id"

Parameters

ParameterTypeRequiredDescription
qstringOptionalSearch query. newtonsoft.json
takeintegerOptionalNumber of results to return. 10
skipintegerOptionalPagination offset. 20
prereleasebooleanOptionalInclude prerelease versions. false

Response fields

totalHitsinteger
Total packages matching the query.
data[].idstring
Package identifier.
data[].versionstring
Latest version.
data[].descriptionstring
Package description.
data[].totalDownloadsinteger
All-time download count.
data[].authorsarray
Package authors.
data[].versionsarray
All published versions with per-version download counts.

What you can build with the NuGet API

  • Search .NET packages from a tool or IDE extension
  • Show current package versions in documentation
  • Compare download counts when choosing a library
  • Audit versions in use across a .NET solution

Common errors and how to fix them

Binary or unreadable response

You hit a `-gz-` registration endpoint which returns gzipped content.

Fix: Use the search service, or decompress the response — the gz paths are not plain JSON.

Empty data array

No packages matched.

Fix: NuGet ids are dotted, e.g. Newtonsoft.Json; partial matches work but very short queries may not.

NuGet API — frequently asked questions

Does the NuGet API need an API key?

No key is needed to search or read package metadata. An API key is only required to publish packages.

Why does my NuGet request return binary data?

You are likely hitting a registration endpoint with `-gz-` in the path, which returns gzip-compressed content. Use the search service for plain JSON, or decompress the response.

How do I find all versions of a package?

The search response includes a `versions` array for each package, with the version string and per-version download count.

Is there a service index I should use?

Yes, https://api.nuget.org/v3/index.json lists the canonical service endpoints. Hitting the search service directly is simpler but the index is the officially correct approach.

Tools that pair with this API

Alternatives to NuGet API

If NuGet does not fit, these developer & testing apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
GitHub REST APIGitHub REST API with no key for public data: repository details, users, issues, releases and commits. 60 req/hour unauthenticated, 5,000 with a token.No keyYes19 Aug 2026
JSONPlaceholderFree fake REST API for testing and prototyping. Posts, comments, users and todos with full GET, POST, PUT and DELETE support. No key. Real curl examples.No keyYes19 Aug 2026
Postman EchoPostman Echo reflects your HTTP request back as JSON: headers, body, query params and auth. Free, no key, ideal for debugging clients. Real POST example.No keyNo19 Aug 2026
DummyJSONFree fake REST API with realistic products, users, carts, recipes and auth. Supports search, pagination, sorting and POST. No key. Tested GET and POST examples.No keyYes19 Aug 2026
Open VSX RegistrySearch and read VS Code extension metadata from the vendor-neutral Open VSX registry as JSON. No key, generous rate limit, real download counts and ratings.No keyYes21 Aug 2026
OSV (Open Source Vulnerabilities)Free Google OSV API with no key: query any package version against a unified vulnerability database spanning npm, PyPI, Go, Maven, crates.io and more. Tested.No keyNo20 Aug 2026
All Developer & Testing APIs

NuGet is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 19 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.