# NuGet

> Read nuget.org, the public gallery for .NET packages, from a workflow. Search all 400,000+ packages by name, owner, tag or kind, read a package's metadata, licence, owners and README, and walk its release history with each version's date, downloads and size. Open a single release for the frameworks it targets, what it depends on, and the repository and exact commit it was built from. Check a version against nuget.org's security advisories and get the lowest safe release to move to, or compare the version you ship against what is published now and get a sentence saying how far behind you are. Every action reads: nothing here publishes, unlists or changes anything on nuget.org. No account or API key required.

App · Code Repositories · 8 actions. Web page: https://docs.lodol.com/docs/integrations/nuget

## Actions

### Check a package for vulnerabilities

Check a package against the security advisories nuget.org publishes. Give it the version you ship and it answers whether that exact version is affected, by what, how severe it is, and the lowest release that is not, rather than handing back a version range for somebody to read. Leave the version out to see every advisory the package has ever had. No API key required.

**Inputs**

- Package (`package`, text, required): The package's id on nuget.org, such as Newtonsoft.Json. Capitals do not matter. If the id is not quite right, the error names the closest packages that do exist.
- Version you use (`version`, text): Optional. The version to check. Leave blank to list every advisory against the package instead of answering about one release.
- Only these severities (`severities`, list): Optional. Report only advisories at these levels. Leave none chosen to see them all. One or more of: `critical`, `high`, `moderate`, `low`.

**Outputs**

- `advisories` (list): The advisories against this package, one entry per advisory however many release lines it covers.
- `advisories_updated` (text): When nuget.org last refreshed its advisory data.
- `affected_version_count` (number): How many versions that is.
- `affected_versions` (list): Every published version an advisory covers, newest first.
- `affecting_count` (number): How many of them cover the version checked. Null when no version was given.
- `checked_version` (text): The version that was checked. Null when the whole package was.
- `count` (number): How many advisories the package has in total.
- `highest_severity` (text): The worst level in play: Low, Moderate, High or Critical. Null when there is nothing to report.
- `id` (text): The package, spelled as nuget.org spells it.
- `is_affected` (true/false): Whether that version is covered by any advisory. The field to branch a workflow on. Null when no version was given.
- `latest_stable_version` (text): Its newest release that is not a pre-release.
- `latest_version` (text): The package's newest release, pre-releases included.
- `package_url` (text): The package's page on nuget.org.
- `recommended_version` (text): The lowest release above the one checked that no advisory covers, which is the smallest upgrade that clears it. Null when there is none, or when no version was checked.
- `safe_version_count` (number): How many published versions no advisory covers.
- `severities` (list): The severity filter that was applied, if any.
- `summary` (text): The answer in a sentence, ready to send in a message or an alert.

**Example output**

```json
{
  "advisories": [
    {
      "advisory_id": "GHSA-GHHP-997W-QR28",
      "advisory_url": "https://github.com/advisories/GHSA-ghhp-997w-qr28",
      "affected_ranges": [
        "[4.0.0, 4.5.1)"
      ],
      "affected_versions_description": "from 4.0.0 up to but not including 4.5.1",
      "affects_checked_version": true,
      "severity": "Critical",
      "severity_level": 3
    }
  ],
  "advisories_updated": "2026-09-13T17:27:11.1287114Z",
  "affected_version_count": 19,
  "affected_versions": [
    "4.5.0",
    "4.4.0",
    "4.3.1"
  ],
  "affecting_count": 1,
  "checked_version": "4.5.0",
  "count": 5,
  "highest_severity": "Critical",
  "id": "System.Text.Encodings.Web",
  "is_affected": true,
  "latest_stable_version": "10.0.12",
  "latest_version": "11.0.0-rc.1.26425.128",
  "package_url": "https://www.nuget.org/packages/System.Text.Encodings.Web",
  "recommended_version": "4.5.1",
  "safe_version_count": 121,
  "severities": [],
  "summary": "System.Text.Encodings.Web 4.5.0 is affected by 1 known advisory (Critical). The lowest release without one is 4.5.1."
}
```

### Check for a newer version

Compare the version you have against what nuget.org publishes now. Answers whether there is an update, whether it is a major, minor or patch step, how many releases and how many days behind you are, and whether the version you are on is deprecated or has a known security advisory, all in one step, with a sentence ready to send. This is the action for a scheduled dependency check. No API key required.

**Inputs**

- Package (`package`, text, required): The package's id on nuget.org, such as Newtonsoft.Json. Capitals do not matter. If the id is not quite right, the error names the closest packages that do exist.
- Version you use (`current_version`, text, required): The version your project uses today, as written in your project file. Any spelling works: 13.0, 13.0.1 and 13.0.1.0 all name the release they mean.
- Count pre-releases as updates (`include_prerelease`, true/false): Treat a newer alpha, beta or release candidate as an available update. Off by default, so a stable project is not told to move to a beta. Default: `false`.

**Outputs**

- `current_deprecation` (object): What the package's owner said when they deprecated this version. Null when it is not deprecated, which is the usual case.
- `current_has_known_vulnerabilities` (true/false): Whether nuget.org knows of a security advisory against it. The field to branch an urgent alert on.
- `current_is_deprecated` (true/false): Whether the owner has deprecated it.
- `current_is_listed` (true/false): Whether it is still visible on nuget.org. False means the owner has hidden it.
- `current_is_prerelease` (true/false): Whether the version in use is a pre-release.
- `current_published` (text): When it shipped, as an ISO 8601 UTC timestamp.
- `current_published_date` (text): The same date as YYYY-MM-DD.
- `current_version` (text): The version that was compared, as nuget.org files it.
- `current_version_exists` (true/false): False when nuget.org has never published that version, which usually means a typo or a package from a private feed.
- `current_vulnerabilities` (list): Those advisories.
- `current_vulnerability_count` (number): How many advisories cover it.
- `days_behind` (number): How many days separate the two releases. Null when either has no publication date.
- `id` (text): The package, spelled as nuget.org spells it.
- `include_prerelease` (true/false): Whether pre-releases counted as updates.
- `latest_stable_version` (text): The newest release that is not a pre-release.
- `latest_version` (text): The newest release of any kind.
- `package_url` (text): The package's page on nuget.org.
- `recommended_published` (text): When that release shipped, as an ISO 8601 timestamp.
- `recommended_published_date` (text): The same date as YYYY-MM-DD.
- `recommended_version` (text): The version to move to: the newest stable release, or the newest of any kind when pre-releases were allowed.
- `recommended_version_url` (text): The recommended release's page on nuget.org.
- `summary` (text): The answer in a sentence, ready to send in a message or an alert.
- `update_available` (true/false): Whether the recommended version is newer than the one in use. The field to branch a workflow on.
- `update_type` (text): How big a step it is: 'major', 'minor', 'patch', 'prerelease', or 'none' when already up to date.
- `versions_behind` (number): How many releases have shipped since the one in use, counting only the kinds being considered.

**Example output**

```json
{
  "current_deprecation": null,
  "current_has_known_vulnerabilities": true,
  "current_is_deprecated": false,
  "current_is_listed": true,
  "current_is_prerelease": false,
  "current_published": "2018-11-27T18:11:37Z",
  "current_published_date": "2018-11-27",
  "current_version": "12.0.1",
  "current_version_exists": true,
  "current_vulnerabilities": [
    {
      "advisory_id": "GHSA-5CRP-9R3C-P9VR",
      "advisory_url": "https://github.com/advisories/GHSA-5crp-9r3c-p9vr",
      "severity": "High"
    }
  ],
  "current_vulnerability_count": 1,
  "days_behind": 2484,
  "id": "Newtonsoft.Json",
  "include_prerelease": false,
  "latest_stable_version": "13.0.4",
  "latest_version": "13.0.5-beta1",
  "package_url": "https://www.nuget.org/packages/Newtonsoft.Json",
  "recommended_published": "2025-09-16T08:13:09Z",
  "recommended_published_date": "2025-09-16",
  "recommended_version": "13.0.4",
  "recommended_version_url": "https://www.nuget.org/packages/Newtonsoft.Json/13.0.4",
  "summary": "Newtonsoft.Json 12.0.1 is out of date: 13.0.4 is a major update, 6 releases ahead, and it has 1 known advisory (High).",
  "update_available": true,
  "update_type": "major",
  "versions_behind": 6
}
```

### Get a package

Get everything nuget.org publishes about a package: what it is, its current version, its licence, its owners, how many times it has been downloaded, when it first and last shipped, and whether its newest release is deprecated. The full metadata of that newest release comes back with it, so a lookup usually needs only this one step. No API key required.

**Inputs**

- Package (`package`, text, required): The package's id on nuget.org, such as Newtonsoft.Json. Capitals do not matter. If the id is not quite right, the error names the closest packages that do exist.

**Outputs**

- `latest_version` (object): The full metadata of the current version, so a lookup usually needs only this one step.
- `package` (object): The package itself.
- `requested_id` (text): The id that was asked for.
- `resolved_id` (text): The spelling nuget.org files the package under, which differs from the id asked for whenever the capitals did.

**Example output**

```json
{
  "latest_version": {
    "authors": [
      "Serilog Contributors"
    ],
    "copyright": "Copyright Serilog Contributors",
    "dependency_count": 7,
    "dependency_group_count": 7,
    "deprecation": null,
    "description": "Simple .NET logging with fully-structured events",
    "download_url": "https://api.nuget.org/v3-flatcontainer/serilog/4.4.0/serilog.4.4.0.nupkg",
    "downloads": 7642232,
    "framework_labels": [
      ".NET 8.0",
      ".NET Standard 2.0"
    ],
    "has_known_vulnerabilities": false,
    "has_readme": true,
    "icon_url": "https://api.nuget.org/v3-flatcontainer/serilog/4.4.0/icon",
    "id": "Serilog",
    "is_deprecated": false,
    "is_development_dependency": false,
    "is_latest": true,
    "is_latest_stable": true,
    "is_listed": true,
    "is_prerelease": false,
    "license": "Apache-2.0",
    "license_url": "https://licenses.nuget.org/Apache-2.0",
    "min_client_version": null,
    "package_url": "https://www.nuget.org/packages/Serilog/4.4.0",
    "project_url": "https://serilog.net/",
    "published": "2026-07-10T03:39:12Z",
    "published_date": "2026-07-10",
    "release_notes": null,
    "repository": {
      "branch": "refs/heads/main",
      "commit": "497f80fda4f9e8f98b9c13ba34b1f0530f8c4449",
      "type": "git",
      "url": "https://github.com/serilog/serilog"
    },
    "repository_commit": "497f80fda4f9e8f98b9c13ba34b1f0530f8c4449",
    "repository_url": "https://github.com/serilog/serilog",
    "requires_license_acceptance": false,
    "size_bytes": 769695,
    "size_description": "751.7 KB",
    "summary": null,
    "tags": [
      "serilog",
      "logging",
      "semantic",
      "structured"
    ],
    "target_frameworks": [
      "net8.0",
      ".NETStandard2.0"
    ],
    "title": "Serilog",
    "version": "4.4.0",
    "version_as_published": "4.4.0",
    "vulnerabilities": [],
    "vulnerability_count": 0
  },
  "package": {
    "authors": [
      "Serilog Contributors"
    ],
    "description": "Simple .NET logging with fully-structured events",
    "first_published": "2013-03-25T05:14:07Z",
    "first_published_date": "2013-03-25",
    "has_known_vulnerabilities": false,
    "icon_url": "https://api.nuget.org/v3-flatcontainer/serilog/4.4.0/icon",
    "id": "Serilog",
    "is_deprecated": false,
    "is_listed": true,
    "is_verified_owner": true,
    "last_published": "2026-07-10T03:39:12Z",
    "last_published_date": "2026-07-10",
    "latest_prerelease_version": "4.4.1-dev-02447",
    "latest_stable_version": "4.4.0",
    "latest_version": "4.4.0",
    "license": "Apache-2.0",
    "license_url": "https://licenses.nuget.org/Apache-2.0",
    "owner_urls": [
      "https://www.nuget.org/profiles/nblumhardt",
      "https://www.nuget.org/profiles/serilog"
    ],
    "owners": [
      "nblumhardt",
      "serilog"
    ],
    "package_types": [
      "Dependency"
    ],
    "package_url": "https://www.nuget.org/packages/Serilog",
    "project_url": "https://serilog.net/",
    "summary": null,
    "tags": [
      "serilog",
      "logging",
      "semantic",
      "structured"
    ],
    "title": "Serilog",
    "total_downloads": 1284551903,
    "version_count": 185
  },
  "requested_id": "serilog",
  "resolved_id": "Serilog"
}
```

### Get a package version

Get everything about one release: when it shipped, how large the package file is, its licence, its release notes, which frameworks it is built for, whether it is deprecated or has a known advisory, and the repository and exact commit it was built from. Leave the version blank for the newest stable release. No API key required.

**Inputs**

- Package (`package`, text, required): The package's id on nuget.org, such as Newtonsoft.Json. Capitals do not matter. If the id is not quite right, the error names the closest packages that do exist.
- Version (`version`, text): Optional. Which version to read. Leave blank for the newest stable release. Any spelling of a version number finds it: 1.0, 1.0.0 and 1.0.0.0 are the same release.

**Outputs**

- `latest_stable_version` (text): Its newest release that is not a pre-release.
- `latest_version` (text): The package's newest release, pre-releases included.
- `requested_id` (text): The package id that was asked for.
- `requested_version` (text): The version that was asked for. Null when the newest stable release was taken.
- `resolved_id` (text): The spelling nuget.org files it under.
- `version` (object): The release.

**Example output**

```json
{
  "latest_stable_version": "4.4.0",
  "latest_version": "4.4.1-dev-02447",
  "requested_id": "serilog",
  "requested_version": "4.4.0",
  "resolved_id": "Serilog",
  "version": {
    "authors": [
      "Serilog Contributors"
    ],
    "copyright": "Copyright Serilog Contributors",
    "dependency_count": 7,
    "dependency_group_count": 7,
    "deprecation": null,
    "description": "Simple .NET logging with fully-structured events",
    "download_url": "https://api.nuget.org/v3-flatcontainer/serilog/4.4.0/serilog.4.4.0.nupkg",
    "downloads": 7642232,
    "framework_labels": [
      ".NET 8.0",
      ".NET Standard 2.0"
    ],
    "has_known_vulnerabilities": false,
    "has_readme": true,
    "icon_url": "https://api.nuget.org/v3-flatcontainer/serilog/4.4.0/icon",
    "id": "Serilog",
    "is_deprecated": false,
    "is_development_dependency": false,
    "is_latest": true,
    "is_latest_stable": true,
    "is_listed": true,
    "is_prerelease": false,
    "license": "Apache-2.0",
    "license_url": "https://licenses.nuget.org/Apache-2.0",
    "min_client_version": null,
    "package_url": "https://www.nuget.org/packages/Serilog/4.4.0",
    "project_url": "https://serilog.net/",
    "published": "2026-07-10T03:39:12Z",
    "published_date": "2026-07-10",
    "release_notes": null,
    "repository": {
      "branch": "refs/heads/main",
      "commit": "497f80fda4f9e8f98b9c13ba34b1f0530f8c4449",
      "type": "git",
      "url": "https://github.com/serilog/serilog"
    },
    "repository_commit": "497f80fda4f9e8f98b9c13ba34b1f0530f8c4449",
    "repository_url": "https://github.com/serilog/serilog",
    "requires_license_acceptance": false,
    "size_bytes": 769695,
    "size_description": "751.7 KB",
    "summary": null,
    "tags": [
      "serilog",
      "logging",
      "semantic",
      "structured"
    ],
    "target_frameworks": [
      "net8.0",
      ".NETStandard2.0"
    ],
    "title": "Serilog",
    "version": "4.4.0",
    "version_as_published": "4.4.0",
    "vulnerabilities": [],
    "vulnerability_count": 0
  }
}
```

### Get a package's README

Read the README a release ships, as the Markdown its author wrote: what the package is for, how to install it, and the code example on its nuget.org page. Long files are trimmed to a length you set, and a release published without one says so rather than failing. No API key required.

**Inputs**

- Package (`package`, text, required): The package's id on nuget.org, such as Newtonsoft.Json. Capitals do not matter. If the id is not quite right, the error names the closest packages that do exist.
- Version (`version`, text): Optional. Which version to read. Leave blank for the newest stable release. Any spelling of a version number finds it: 1.0, 1.0.0 and 1.0.0.0 are the same release.
- Trim to (`max_characters`, number): The most characters to return. A README can run to hundreds of kilobytes, which is rarely what a later step wants dropped into it. From 1 to 200000. Default: `20000`.

**Outputs**

- `characters` (number): How many characters came back.
- `format` (text): Always 'markdown'; NuGet accepts nothing else.
- `has_readme` (true/false): False when the release was published without one, which is common for older packages.
- `id` (text): The package, spelled as nuget.org spells it.
- `package_url` (text): This version's page on nuget.org.
- `readme` (text): The README itself, as Markdown. Null when there is none.
- `total_characters` (number): How long the whole README is.
- `truncated` (true/false): Whether it was trimmed to fit the limit.
- `version` (text): The release whose README this is.

**Example output**

```json
{
  "characters": 7962,
  "format": "markdown",
  "has_readme": true,
  "id": "Serilog",
  "package_url": "https://www.nuget.org/packages/Serilog/4.4.0",
  "readme": "# Serilog\n\nSerilog is a diagnostic logging library for .NET...",
  "total_characters": 7962,
  "truncated": false,
  "version": "4.4.0"
}
```

### List a package's versions

Walk a package's release history. Every version comes back with the date it shipped, how many times it has been downloaded, whether it is a pre-release, and whether it is deprecated or has a known security advisory. Narrow it to stable releases only or to a window of dates, and order it by version or by publication date. No API key required.

**Inputs**

- Package (`package`, text, required): The package's id on nuget.org, such as Newtonsoft.Json. Capitals do not matter. If the id is not quite right, the error names the closest packages that do exist.
- Include pre-releases (`include_prerelease`, true/false): Include alphas, betas and release candidates. On by default, because a release history usually means all of it. Default: `true`.
- Include hidden versions (`include_unlisted`, true/false): Include versions the owner has hidden from nuget.org. A hidden version still installs for anything that asks for it by number, which is why it can be worth seeing. Off by default. Default: `false`.
- Published on or after (`published_after`, date): Optional. Only releases published on or after this date.
- Published on or before (`published_before`, date): Optional. Only releases published on or before this date. The whole of that day counts.
- Order by (`sort`, text): How to order the releases. Version order is what nuget.org's own version table uses; publication order differs whenever a fix was back-ported to an older line. One of: `version_desc` (Newest version first), `version_asc` (Oldest version first), `published_desc` (Most recently published first), `published_asc` (Least recently published first). Default: `version_desc`.
- How many (`limit`, number): How many releases to return, 1 to 500. From 1 to 500. Default: `25`.

**Outputs**

- `count` (number): How many releases came back.
- `filters` (object): The filters that were applied.
- `has_more` (true/false): Whether more releases matched than the limit allowed through.
- `id` (text): The package, spelled as nuget.org spells it.
- `latest_stable_version` (text): Its newest release that is not a pre-release.
- `latest_version` (text): The package's newest release, pre-releases included, whatever the filters left in the list.
- `limit` (number): The ceiling that was applied.
- `package_url` (text): The package's page on nuget.org.
- `sort` (text): The ordering that was used.
- `sort_description` (text): The same ordering in words.
- `total_count` (number): How many releases matched the filters in total, whether or not the limit let them all through.
- `version_count` (number): How many versions the package has published altogether, before any filter.
- `versions` (list): The releases, in the order asked for.

**Example output**

```json
{
  "count": 1,
  "filters": {
    "include_prerelease": false,
    "include_unlisted": false,
    "published_after": null,
    "published_before": null
  },
  "has_more": true,
  "id": "Serilog",
  "latest_stable_version": "4.4.0",
  "latest_version": "4.4.1-dev-02447",
  "limit": 25,
  "package_url": "https://www.nuget.org/packages/Serilog",
  "sort": "version_desc",
  "sort_description": "Newest version first",
  "total_count": 132,
  "version_count": 185,
  "versions": [
    {
      "dependency_count": 7,
      "download_url": "https://api.nuget.org/v3-flatcontainer/serilog/4.4.0/serilog.4.4.0.nupkg",
      "downloads": 7642232,
      "has_known_vulnerabilities": false,
      "is_deprecated": false,
      "is_listed": true,
      "is_prerelease": false,
      "package_url": "https://www.nuget.org/packages/Serilog/4.4.0",
      "published": "2026-07-10T03:39:12Z",
      "published_date": "2026-07-10",
      "version": "4.4.0",
      "vulnerability_count": 0
    }
  ]
}
```

### List a version's dependencies

List what one release pulls in, grouped by the framework it is built for. A package targeting .NET 8 and .NET Standard 2.0 often needs different things on each. Every dependency comes with the versions that satisfy it, written both in NuGet's notation and in plain words. Narrow it to one framework to see exactly what a project would get. No API key required.

**Inputs**

- Package (`package`, text, required): The package's id on nuget.org, such as Newtonsoft.Json. Capitals do not matter. If the id is not quite right, the error names the closest packages that do exist.
- Version (`version`, text): Optional. Which version to read. Leave blank for the newest stable release. Any spelling of a version number finds it: 1.0, 1.0.0 and 1.0.0.0 are the same release.
- Target framework (`target_framework`, text): Optional. Show only the group for one framework, which is what a project targeting it would actually get. Leave blank for every group.

**Outputs**

- `dependency_count` (number): How many dependencies those groups hold in total.
- `dependency_groups` (list): One group per target framework.
- `dependency_ids` (list): Every distinct package it depends on, across the groups returned, which is the list to walk when the framework does not matter.
- `filtered_to_framework` (text): The framework it was narrowed to, if any.
- `framework_labels` (list): The same frameworks in readable form.
- `group_count` (number): How many groups came back.
- `has_dependencies` (true/false): False for a release that needs nothing, which is an answer rather than an empty result.
- `id` (text): The package, spelled as nuget.org spells it.
- `package_url` (text): This version's page on nuget.org.
- `target_frameworks` (list): Every framework this release declares a group for, whether or not the result was narrowed to one.
- `version` (text): The release whose dependencies these are.

**Example output**

```json
{
  "dependency_count": 1,
  "dependency_groups": [
    {
      "dependencies": [
        {
          "id": "System.Threading.Channels",
          "minimum_version": "8.0.0",
          "package_url": "https://www.nuget.org/packages/System.Threading.Channels",
          "version_range": "[8.0.0, )",
          "version_range_description": "8.0.0 and above"
        }
      ],
      "dependency_count": 1,
      "framework_label": ".NET Standard 2.0",
      "target_framework": ".NETStandard2.0"
    }
  ],
  "dependency_ids": [
    "System.Threading.Channels"
  ],
  "filtered_to_framework": ".NETStandard2.0",
  "framework_labels": [
    ".NET 8.0",
    ".NET Standard 2.0"
  ],
  "group_count": 1,
  "has_dependencies": true,
  "id": "Serilog",
  "package_url": "https://www.nuget.org/packages/Serilog/4.4.0",
  "target_frameworks": [
    "net8.0",
    ".NETStandard2.0"
  ],
  "version": "4.4.0"
}
```

### Search packages

Search nuget.org, the public gallery for .NET packages, by name and description, or browse it by owner, by tag or by kind of package. Results come back most relevant first, with each package's newest version, download count, owners and licence. The starting point for 'what is there for X in .NET?'. No API key required.

**Inputs**

- Search text (`query`, text): Optional. What to search for. nuget.org matches package ids, titles, descriptions and tags. Leave blank to browse with the filters below instead.
- Owner (`owner`, text): Optional. Only packages published by this nuget.org account. The owner is who can publish new versions, which is not always who wrote the code.
- Tag (`tag`, text): Optional. Only packages whose author filed them under this tag. Tags are free text chosen by each author.
- Kind of package (`package_type`, text): Optional. Narrow to one kind of package. Most packages are libraries; tools and templates are installed rather than referenced. One of: `""` (Any kind of package), `Dependency` (Library a project references), `DotnetTool` (Tool installed with 'dotnet tool install'), `Template` (Project templates for 'dotnet new'), `MSBuildSdk` (MSBuild SDK a project names in its Sdk attribute), `DotnetCliTool` (CLI tool in the retired per-project format).
- Include pre-releases (`include_prerelease`, true/false): Include packages whose newest version is an alpha, beta or release candidate. Off by default, which is what nuget.org's own search does. Default: `false`.
- How many (`limit`, number): How many packages to return, 1 to 100. From 1 to 100. Default: `20`.
- Skip (`offset`, number): How many results to skip, for reading past the first page. nuget.org stops answering past 3,000. From 0 to 3000. Default: `0`.

**Outputs**

- `count` (number): How many packages are on this page.
- `filters` (object): The filters that were applied.
- `has_more` (true/false): Whether there is another page to read.
- `limit` (number): The page size that was used.
- `next_offset` (number): The offset that reads the next page. Null when this is the last one.
- `offset` (number): How many results were skipped.
- `packages` (list): The packages on this page.
- `query` (text): The text that was searched for, if any.
- `total_count` (number): How many packages matched in total.

**Example output**

```json
{
  "count": 1,
  "filters": {
    "include_prerelease": false,
    "owner": null,
    "package_type": "Dependency",
    "tag": null
  },
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "packages": [
    {
      "authors": [
        "Serilog Contributors"
      ],
      "description": "Simple .NET logging with fully-structured events",
      "icon_url": "https://api.nuget.org/v3-flatcontainer/serilog/4.4.0/icon",
      "id": "Serilog",
      "is_prerelease": false,
      "is_verified_owner": true,
      "latest_version": "4.4.0",
      "license_url": "https://licenses.nuget.org/Apache-2.0",
      "owner_urls": [
        "https://www.nuget.org/profiles/nblumhardt",
        "https://www.nuget.org/profiles/serilog"
      ],
      "owners": [
        "nblumhardt",
        "serilog"
      ],
      "package_types": [
        "Dependency"
      ],
      "package_url": "https://www.nuget.org/packages/Serilog",
      "project_url": "https://serilog.net/",
      "summary": null,
      "tags": [
        "serilog",
        "logging",
        "semantic",
        "structured"
      ],
      "title": "Serilog",
      "total_downloads": 1284551903,
      "version_count": 185
    }
  ],
  "query": "logging",
  "total_count": 9561
}
```
