# NuGet Packages Scraper (`parseforge/nuget-packages-scraper`) Actor

Search the NuGet .NET package catalog. Returns IDs, latest versions, descriptions, owners, authors, total downloads, project and license URLs, tags, package types and full version history for any matching package.

- **URL**: https://apify.com/parseforge/nuget-packages-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Developer tools, Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $26.25 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 📦 NuGet Packages Scraper

> 🚀 **Export the .NET package catalogue in seconds.** Search **400,000+ NuGet packages** by keyword, package type, or SemVer level, and pull download counts, ownership, project links, and full version history in one run. No sign-up, no token plumbing, no manual paging.

> 🕒 **Last updated:** 2026-05-15 · **📊 17 fields** per record · **📦 400,000+ packages** · **🏷️ 7 package types** · **🔁 Live per run**

The **NuGet Packages Scraper** queries the official .NET package catalogue and returns **17 fields per package**, including ID, latest version, description, authors, owners, total downloads, project URL, license URL, tags, package types, verified status, and complete version history. The catalogue is the canonical home of every shipped .NET library, tool, template, and SDK, used by millions of developers worldwide.

The catalogue spans **400,000+ packages** across 7 NuGet package types: dependency libraries, .NET tools, project templates, MSBuild SDKs, .NET client tools, .NET platforms, and standard packages. This Actor streams matching records as CSV, Excel, JSON, or XML in under five minutes. Filtering runs server-side, so you skip pagination, retries, and field selection entirely.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| .NET developers, DevOps engineers, security analysts, package maintainers, OSS researchers, build engineers, data scientists | Dependency intelligence, supply-chain auditing, package discovery, download trend analysis, license compliance, competitor benchmarking |

---

### 📋 What the NuGet Packages Scraper does

Four filtering workflows in a single run:

- 🔍 **Keyword search.** Free-text query across IDs, titles, tags, authors, owners, and descriptions.
- 📂 **Package type filter.** Restrict to dependency libraries, .NET tools, templates, MSBuild SDKs, or platforms.
- 🧪 **Prerelease toggle.** Include or exclude alpha, beta, preview, and release-candidate builds.
- 🏷️ **SemVer level.** Pick SemVer 1.0.0 or SemVer 2.0.0 (recommended) for build-metadata support.

Each record includes the package ID, latest version, description, icon, authors, owners, tags, verified status, total downloads, project and license URLs, and the full version history with per-version download counts.

> 💡 **Why it matters:** modern .NET stacks pull dozens of transitive dependencies. Visibility into who owns each package, how often it ships, and how widely it's adopted is the difference between a healthy build pipeline and a dependency confusion incident.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded NuGet dataset._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>query</code></td><td>string</td><td><code>"newtonsoft"</code></td><td>Free-text search across IDs, titles, tags, authors, owners and descriptions. Empty = browse the full catalogue.</td></tr>
<tr><td><code>packageType</code></td><td>string</td><td><code>""</code></td><td>One of 7 NuGet package types. Empty = any type.</td></tr>
<tr><td><code>prerelease</code></td><td>boolean</td><td><code>false</code></td><td>When <code>true</code>, includes preview, alpha, beta, and release-candidate versions.</td></tr>
<tr><td><code>semVerLevel</code></td><td>string</td><td><code>"2.0.0"</code></td><td>Highest SemVer level honoured. <code>2.0.0</code> recommended.</td></tr>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Records to return. Free plan caps at 10, paid plan at 1,000,000.</td></tr>
</tbody>
</table>

**Example: top 50 Newtonsoft packages by relevance.**

```json
{
    "maxItems": 50,
    "query": "newtonsoft",
    "packageType": "",
    "prerelease": false,
    "semVerLevel": "2.0.0"
}
````

**Example: every published .NET command-line tool.**

```json
{
    "maxItems": 500,
    "query": "",
    "packageType": "DotnetTool",
    "prerelease": false,
    "semVerLevel": "2.0.0"
}
```

> ⚠️ **Good to Know:** `totalDownloads` reflects the cumulative count reported by the catalogue and may lag the live counter by a few minutes. The `verified` flag indicates that the package owner is a verified reserved-prefix holder, not a security guarantee. Always cross-check supply-chain decisions against your own scanner.

***

### 📊 Output

Each NuGet package record contains **17 fields**. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🖼️ `iconUrl` | string | null | `"https://www.nuget.org/profiles/Newtonsoft/avatar"` |
| 🆔 `id` | string | `"Newtonsoft.Json"` |
| 🔗 `url` | string | `"https://www.nuget.org/packages/Newtonsoft.Json"` |
| 📌 `title` | string | `"Json.NET"` |
| 🏷️ `latestVersion` | string | `"13.0.3"` |
| 📝 `description` | string | `"Json.NET is a popular high-performance JSON framework for .NET"` |
| 👤 `authors` | string\[] | `["James Newton-King"]` |
| 👤 `owners` | string\[] | `["dotnetfoundation","jamesnk","newtonsoft"]` |
| 🏷️ `tags` | string\[] | `["json"]` |
| 📂 `packageTypes` | string\[] | `["Dependency"]` |
| ✅ `verified` | boolean | null | `true` |
| 📈 `totalDownloads` | number | null | `5870034112` |
| 🔗 `projectUrl` | string | null | `"https://www.newtonsoft.com/json"` |
| 📜 `licenseUrl` | string | null | `"https://licenses.nuget.org/MIT"` |
| 🔢 `versionCount` | number | `192` |
| 🏷️ `firstVersion` | string | null | `"3.5.8"` |
| 📦 `versions` | object\[] | `[{"version":"13.0.3","downloads":682431205}]` |
| 🕒 `scrapedAt` | ISO 8601 | `"2026-05-15T00:00:00.000Z"` |

#### 📦 Sample records

<details>
<summary><strong>📦 Headline dependency: Newtonsoft.Json</strong></summary>

```json
{
    "iconUrl": "https://www.nuget.org/profiles/Newtonsoft/avatar",
    "id": "Newtonsoft.Json",
    "url": "https://www.nuget.org/packages/Newtonsoft.Json",
    "title": "Json.NET",
    "latestVersion": "13.0.3",
    "description": "Json.NET is a popular high-performance JSON framework for .NET",
    "authors": ["James Newton-King"],
    "owners": ["dotnetfoundation", "jamesnk", "newtonsoft"],
    "tags": ["json"],
    "packageTypes": ["Dependency"],
    "verified": true,
    "totalDownloads": 5870034112,
    "projectUrl": "https://www.newtonsoft.com/json",
    "licenseUrl": "https://licenses.nuget.org/MIT",
    "versionCount": 192,
    "firstVersion": "3.5.8",
    "versions": [
        { "version": "3.5.8", "downloads": 432910 },
        { "version": "13.0.3", "downloads": 682431205 }
    ],
    "scrapedAt": "2026-05-15T00:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🛠️ .NET CLI tool: dotnet-ef</strong></summary>

```json
{
    "iconUrl": null,
    "id": "dotnet-ef",
    "url": "https://www.nuget.org/packages/dotnet-ef",
    "title": "dotnet-ef",
    "latestVersion": "9.0.0",
    "description": "Entity Framework Core .NET Command-line Tools.",
    "authors": ["Microsoft"],
    "owners": ["aspnet", "EntityFramework", "Microsoft"],
    "tags": ["Entity Framework Core", "EFCore", "EF"],
    "packageTypes": ["DotnetTool"],
    "verified": true,
    "totalDownloads": 84210333,
    "projectUrl": "https://docs.microsoft.com/ef/core/",
    "licenseUrl": "https://licenses.nuget.org/MIT",
    "versionCount": 41,
    "firstVersion": "2.1.0",
    "versions": [
        { "version": "9.0.0", "downloads": 1503884 }
    ],
    "scrapedAt": "2026-05-15T00:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🧱 MSBuild SDK: Microsoft.Build.NoTargets</strong></summary>

```json
{
    "iconUrl": null,
    "id": "Microsoft.Build.NoTargets",
    "url": "https://www.nuget.org/packages/Microsoft.Build.NoTargets",
    "title": "Microsoft.Build.NoTargets",
    "latestVersion": "3.8.10",
    "description": "An MSBuild project SDK that allows project tree owners the ability to define projects that do not compile an assembly.",
    "authors": ["Microsoft"],
    "owners": ["Microsoft"],
    "tags": ["MSBuild", "SDK", "NoTargets"],
    "packageTypes": ["MSBuildSdk"],
    "verified": true,
    "totalDownloads": 21345211,
    "projectUrl": "https://github.com/microsoft/MSBuildSdks",
    "licenseUrl": "https://licenses.nuget.org/MIT",
    "versionCount": 26,
    "firstVersion": "1.0.0",
    "versions": [
        { "version": "3.8.10", "downloads": 489201 }
    ],
    "scrapedAt": "2026-05-15T00:00:00.000Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 📦 | **Catalogue-wide reach.** 400,000+ packages across every published .NET library, tool, template, SDK, and platform. |
| 🎯 | **Multi-dimensional filters.** Keyword, package type, prerelease toggle, and SemVer level combine freely in a single run. |
| 🧾 | **17 fields per record.** Identity, ownership, popularity, links, and complete version history out of the box. |
| ⚡ | **Fast.** 10 packages in under 5 seconds, 10,000 records in under 90 seconds. |
| 🔁 | **Always fresh.** Every run hits the live catalogue, so download counts and versions reflect the moment of execution. |
| 🚫 | **No authentication.** Public catalogue access. No login, no token, no manual paging. |
| 📥 | **Multi-format export.** CSV, Excel, JSON, or XML, ready for spreadsheets, warehouses, or pipelines. |

> 📊 Accurate package metadata is the foundation of every dependency audit, supply-chain review, and OSS adoption study in the .NET ecosystem.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ NuGet Packages Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **400,000+** packages | **Live per run** | query, type, prerelease, SemVer | ⚡ 2 min |
| Hand-rolled catalogue clients | Free + dev time | Full | Per request | Custom code | 🐢 Days |
| Commercial supply-chain tools | $$$ / month | Full + advisories | Hourly | Many | ⏳ Hours |
| Manual portal browsing | Free | One package at a time | Live | UI only | 🕒 Tedious |

Pick this Actor when you want broad catalogue coverage, server-side filters, and no pipeline maintenance.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the NuGet Packages Scraper page on the Apify Store.
3. 🎯 **Set input.** Enter a search query (or leave blank), pick a package type, and set `maxItems`.
4. 🚀 **Run it.** Click **Start** and let the Actor pull your matching packages.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 🔐 Supply Chain & Security

- Dependency inventories with ownership and download counts
- Typosquat and dependency-confusion sweeps by ID prefix
- License compliance reports across thousands of packages
- Verified-publisher audits across critical dependencies

</td>
<td width="50%" valign="top">

#### 📊 Developer Intelligence

- Trending .NET libraries by category or tag
- Adoption benchmarks for competing packages
- Maintenance signals from version cadence and release dates
- OSS health snapshots for technology decisions

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 🛠️ Build & Release Engineering

- Build-pipeline package allowlists and blocklists
- MSBuild SDK and template inventories across teams
- Internal mirrors with curated package selections
- Release-train monitoring for upstream dependencies

</td>
<td width="50%" valign="top">

#### 📈 Product & Market Research

- .NET tool ecosystem maps for product positioning
- Author and organization influence metrics
- Tag-driven discovery of niche libraries
- Adoption-curve analysis for new release types

</td>
</tr>
</table>

***

### 🔌 Automating NuGet Packages Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Hourly, daily, or weekly refreshes keep downstream dashboards and security tooling in sync.

***

### 🌟 Beyond business use cases

The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- OSS adoption studies across the .NET ecosystem
- Dependency-graph analyses for software-engineering papers
- Reproducible studies with cited dataset pulls
- Coursework on package-manager design and security

</td>
<td width="50%">

#### 🎨 Personal and creative

- Indie .NET dashboards and portfolio demos
- Hobbyist trend trackers for favourite authors
- Visualisations of the .NET dependency landscape
- Side projects exploring tag-driven library discovery

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Open-source health reports for civic-tech communities
- Transparency on dependencies in public-sector .NET stacks
- Investigative work on package-ownership patterns
- Sponsorship targeting based on download impact

</td>
<td width="50%">

#### 🧪 Experimentation

- Train classifiers that recommend .NET libraries
- Validate developer-tool product ideas with real adoption data
- Prototype agent pipelines that suggest packages from prompts
- Test internal package-search experiences with live data

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20NuGet%20Packages%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20NuGet%20Packages%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20NuGet%20Packages%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20NuGet%20Packages%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

Type a query, pick a package type, and click Start. The Actor applies the filters server-side against the official catalogue and returns one structured record per matching package. No browser automation, no captchas, no setup.

#### 📏 How accurate are the download counts?

Total download numbers reflect the cumulative count published by the catalogue. They can lag the live counter by a few minutes during heavy publishing periods. Per-version download counts are equally fresh and update on every run.

#### 🔁 How often is the catalogue refreshed?

The catalogue updates continuously as authors publish new versions. Every run of this Actor pulls the latest catalogue state, so you always see current versions and current download numbers.

#### 🧪 Can I include prerelease packages?

Yes. Set `prerelease: true` to include preview, alpha, beta, and release-candidate versions alongside stable releases.

#### 📂 Can I filter to .NET CLI tools or templates?

Yes. Pick `DotnetTool` to scope to .NET CLI tools, `Template` for project templates, or `MSBuildSdk` for MSBuild SDKs. Leave the field empty to include every package type.

#### ⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run this Actor on any cron interval (hourly, daily, weekly) and keep a downstream database in sync.

#### ⚖️ Is this data legal to use?

Package metadata in the catalogue is publicly browsable. Review individual package licences before redistribution, but listing data is fine for analytics and discovery use.

#### 💼 Can I use this data commercially?

Yes. Listing metadata is publicly accessible for analytics and search use cases. You are responsible for honouring each package's own licence when redistributing software.

#### 💳 Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and gives you scheduling, higher concurrency, and larger datasets.

#### 🔁 What happens if a run fails or gets interrupted?

Apify automatically retries transient errors. If a run still fails, you can inspect the log in the Runs tab, fix the input, and re-run. Partial datasets from failed runs are preserved so you never lose progress.

#### 🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.

***

### 🔌 Integrate with any app

NuGet Packages Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe package data into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh package data into your security dashboard, or alert your team in Slack on new releases of watched packages.

***

### 🔗 Recommended Actors

- [**🦀 Crates.io Scraper**](https://apify.com/parseforge/crates-scraper) - Rust crate metadata, downloads, and versions
- [**📦 Hex.pm Elixir Packages Scraper**](https://apify.com/parseforge/hex-elixir-packages-scraper) - Elixir/Erlang package catalogue
- [**☁️ cdnjs Libraries Scraper**](https://apify.com/parseforge/cdnjs-libraries-scraper) - Front-end JS and CSS libraries hosted on cdnjs
- [**🎮 Modrinth Mods Scraper**](https://apify.com/parseforge/modrinth-mods-scraper) - Minecraft mods, modpacks, shaders, resource packs
- [**📈 Indexmundi Scraper**](https://apify.com/parseforge/indexmundi-scraper) - Global demographic and economic indicators

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more reference-data scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by NuGet, the .NET Foundation, or Microsoft. All trademarks mentioned are the property of their respective owners. Only publicly available package metadata is collected.

# Actor input Schema

## `query` (type: `string`):

Free-text search across NuGet package IDs, titles, tags, authors, owners and descriptions. Leave blank to browse the full catalog ordered by relevance.

## `owner` (type: `string`):

Restrict to packages owned by a specific NuGet account (e.g. 'microsoft', 'aspnet'). Combined with the query as 'owner:<value>'.

## `author` (type: `string`):

Restrict to packages by a specific author. Combined with the query as 'author:<value>'.

## `packageType` (type: `string`):

Restrict to a specific NuGet package type. Leave as 'Any' to include all types.

## `prerelease` (type: `boolean`):

Include preview, alpha, beta and release-candidate versions in the results. Enable this to surface unreleased work; leave off for stable releases only.

## `semVerLevel` (type: `string`):

Highest SemVer level to honour. '2.0.0' is recommended and includes packages with build metadata.

## `maxVersions` (type: `integer`):

Cap the size of the per-package version history. Use 0 to keep every version returned by the catalog.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "query": "",
  "owner": "",
  "author": "",
  "packageType": "",
  "prerelease": true,
  "semVerLevel": "2.0.0",
  "maxVersions": 50,
  "maxItems": 10
}
```

# Actor output Schema

## `overview` (type: `string`):

Overview of scraped data

## `fullData` (type: `string`):

Complete dataset

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "packageType": "",
    "semVerLevel": "2.0.0",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/nuget-packages-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "packageType": "",
    "semVerLevel": "2.0.0",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/nuget-packages-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "packageType": "",
  "semVerLevel": "2.0.0",
  "maxItems": 10
}' |
apify call parseforge/nuget-packages-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/nuget-packages-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NuGet Packages Scraper",
        "description": "Search the NuGet .NET package catalog. Returns IDs, latest versions, descriptions, owners, authors, total downloads, project and license URLs, tags, package types and full version history for any matching package.",
        "version": "0.0",
        "x-build-id": "yoz7VAjSe06VeH6X5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~nuget-packages-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-nuget-packages-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~nuget-packages-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-nuget-packages-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~nuget-packages-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-nuget-packages-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Free-text search across NuGet package IDs, titles, tags, authors, owners and descriptions. Leave blank to browse the full catalog ordered by relevance.",
                        "default": ""
                    },
                    "owner": {
                        "title": "Owner",
                        "type": "string",
                        "description": "Restrict to packages owned by a specific NuGet account (e.g. 'microsoft', 'aspnet'). Combined with the query as 'owner:<value>'.",
                        "default": ""
                    },
                    "author": {
                        "title": "Author",
                        "type": "string",
                        "description": "Restrict to packages by a specific author. Combined with the query as 'author:<value>'.",
                        "default": ""
                    },
                    "packageType": {
                        "title": "Package type",
                        "enum": [
                            "",
                            "Dependency",
                            "DotnetTool",
                            "Template",
                            "MSBuildSdk",
                            "DotnetClientTool",
                            "DotnetPlatform",
                            "Compatibility",
                            "MSBuildTask"
                        ],
                        "type": "string",
                        "description": "Restrict to a specific NuGet package type. Leave as 'Any' to include all types.",
                        "default": ""
                    },
                    "prerelease": {
                        "title": "Include prerelease",
                        "type": "boolean",
                        "description": "Include preview, alpha, beta and release-candidate versions in the results. Enable this to surface unreleased work; leave off for stable releases only.",
                        "default": true
                    },
                    "semVerLevel": {
                        "title": "SemVer level",
                        "enum": [
                            "2.0.0",
                            "1.0.0"
                        ],
                        "type": "string",
                        "description": "Highest SemVer level to honour. '2.0.0' is recommended and includes packages with build metadata.",
                        "default": "2.0.0"
                    },
                    "maxVersions": {
                        "title": "Max versions per package",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Cap the size of the per-package version history. Use 0 to keep every version returned by the catalog.",
                        "default": 50
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
