
NuGet Scraper
hipersoft/nuget-scraper
Fetch NuGet .NET package metadata in bulk. Search the registry or look up exact package ids and get version, description, authors, total downloads, tags, dependencies, project/license/icon URLs and publish date. Export to JSON, CSV or Excel.
Total users
2Monthly users
1Total runs
65Per package scraped
$0.001Last rebuilt
Oct 26, 2026Overview
Pull clean, structured metadata for NuGet packages in bulk. Search the .NET package registry or look up exact package ids and get back one tidy JSON record per package: latest version, description, authors, total downloads, verified-owner flag, tags, project / license / icon links, publish date, version count and the dependencies of the latest release. Built for .NET developers, dependency and license auditors, security teams and OSS researchers who need reliable package data at scale.
Features
- 🔎 Free-text search — run any NuGet query (
json,logging,orm) and collect the top matching packages in bulk. - 🎯 Exact lookups — pass precise package ids like
Newtonsoft.JsonorSerilogalongside, or instead of, a search query. - 📈 Total downloads — every row carries the package's cumulative download count and its verified-owner flag.
- 🧩 Dependencies — the runtime dependencies of the latest version, de-duplicated across target frameworks.
- 🏷️ Full metadata — version, description, authors, tags, project URL, license URL, icon URL and publish date.
- ⏱️ Prerelease control — include or exclude prerelease builds with a single toggle.
- ⚙️ Reliable by design — retry-with-backoff, per-package isolation and a time budget keep large runs stable and clean.
What you get
Each package becomes one clean JSON record:
{
"id": "Newtonsoft.Json",
"version": "13.0.4",
"description": "Json.NET is a popular high-performance JSON framework for .NET",
"authors": ["James Newton-King"],
"totalDownloads": 9061112532,
"verified": true,
"tags": ["json"],
"projectUrl": "https://www.newtonsoft.com/json",
"licenseUrl": "https://www.nuget.org/packages/Newtonsoft.Json/13.0.4/license",
"iconUrl": "https://api.nuget.org/v3-flatcontainer/newtonsoft.json/13.0.4/icon",
"published": "2023-03-08T04:52:00.000+00:00",
"versions": 84,
"dependencies": [],
"nugetUrl": "https://www.nuget.org/packages/Newtonsoft.Json"
}
Output schema
| Field | Type | Description |
|---|---|---|
id |
string | Package id on NuGet. |
version |
string | Latest version (stable unless prerelease is enabled). |
description |
string | Short package description. |
authors |
array | Declared package authors. |
totalDownloads |
integer | Cumulative download count across all versions. |
verified |
boolean | Whether the package has a verified owner/prefix. |
tags |
array | Tag keywords declared by the package. |
projectUrl |
string (URL) | Project homepage link. |
licenseUrl |
string (URL) | License link. |
iconUrl |
string (URL) | Package icon link. |
published |
string (ISO date) | Publish timestamp of the latest version. |
versions |
integer | Number of published versions. |
dependencies |
array | Dependency package ids of the latest version. |
nugetUrl |
string (URL) | Package page on nuget.org. |
Input
{
"packages": ["Newtonsoft.Json", "Serilog"],
"search": "json",
"maxItems": 100,
"prerelease": false
}
| Field | Description |
|---|---|
packages |
Exact NuGet package ids to look up. One row per id. |
search |
Free-text query against the registry (id, description, tags). |
maxItems |
Maximum packages to return in total across ids and search. |
prerelease |
Include prerelease versions when picking the latest version and search results. |
Use cases
- Audit licenses, authors and dependency counts across a set of packages before adoption.
- Compare download totals between competing .NET libraries.
- Build a curated catalog of packages for a topic or an internal registry.
- Feed package data into security, compliance or SBOM workflows.
Pricing
Pay-per-event: you're billed a small amount per package scraped — you only pay for what you get. See the Pricing tab for current rates.
FAQ
How many packages can I scrape per run?
As many as you like. A single search query returns the top matching packages up to maxItems, and you can add any number of exact ids in packages. Raise maxItems for larger pulls.
What's the output format?
Structured JSON — one clean record per package with fields such as id, version, totalDownloads, authors, tags, dependencies and published. Export it as JSON, CSV, Excel or via the API.
Can I get dependencies and the publish date? Yes. Every row includes the dependencies of the latest version and its publish timestamp, plus the total number of published versions.
How do I include prerelease versions?
Enable the prerelease toggle. The reported latest version and search results will then consider prerelease builds; otherwise only stable releases are used.
Can I use this with n8n?
Yes. Run the NuGet Scraper from n8n with the Apify community node: add an Apify node, select this Actor, pass packages and/or search, and use the dataset items in the next n8n step. You can trigger a run on a schedule or from any upstream node and branch on the results.
Can I integrate this with other tools? The NuGet Scraper connects with almost any cloud service or web app through integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Auditing dependencies and packages across ecosystems? Pair this with our other developer-data scrapers:
- npm Package Scraper — metadata, dependencies, licenses and downloads for JavaScript packages from npm.
- PyPI Package Scraper — metadata, dependencies, licenses and downloads for Python packages from PyPI.
- crates.io Scraper — Rust crate metadata, versions, licenses and download trends.
- Docker Hub Scraper — image metadata, pulls, stars and tags from Docker Hub.
Notes
Original clean-room implementation. This Actor reads only publicly available NuGet package data. It is an independent tool and is not affiliated with, endorsed by, or sponsored by the .NET Foundation or Microsoft; "NuGet" is a trademark of its respective owner.
Input
| Field | Type | Description |
|---|---|---|
packagesPackage ids | array | Exact NuGet package ids to look up, e.g. "Newtonsoft.Json", "Serilog", "AutoMapper". One row is returned per id. Combine with a search query below, or use either on its own. |
searchSearch query | string | Free-text query run against the NuGet registry (matches id, description and tags), e.g. "json", "logging", "orm". Returns the top matching packages up to "Max items". Leave empty to only use the exact ids above. |
maxItemsMax items | integer | Maximum number of packages to return in total across the exact ids and the search query. Default: 100 |
prereleaseInclude prerelease versions | boolean | When enabled, prerelease versions are considered so the reported latest version and search results can include prerelease builds. When disabled, only stable releases are used. Default: false |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~nuget-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"packages": [
"Newtonsoft.Json"
],
"search": "json"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/nuget-scraper").call(run_input={
"packages": [
"Newtonsoft.Json"
],
"search": "json"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/nuget-scraper').call({
"packages": [
"Newtonsoft.Json"
],
"search": "json"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Package Scraped Charged per package scraped. | $0.001 | $0.0005 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
North Data Scraper
Look up European companies on North Data: legal name, former names, register number, address, founding date, LEI, business purpose, managing directors and officers, and recent register publications. Germany, UK, France, Austria and 20+ countries. Bulk lookups.
2,467 runs · 5 users · $0.004 / companyWebsite Content Crawler
Extract clean, readable content from any list of websites: page title, meta description, headings, main body text, word count and link/image counts. Optional same-domain crawl. Bulk-ready. Great for LLM/RAG ingestion, content audits and research.
206 runs · 20 users · $0.0024 / page scrapedSpyFu Domain Scraper
Bulk SEO and PPC reports for any domain from SpyFu: organic keywords, monthly SEO clicks and value, Google Ads budget, paid keywords, top keywords, competitors, top countries and monthly history. Competitor research for agencies. Export CSV/JSON.
185 runs · 7 users · $0.008 / domain reportTrustpilot Reviews Scraper
Scrape Trustpilot reviews and company ratings by company domain or Trustpilot URL: star rating, title, text, reviewer name & country, verification, date, company reply, plus company TrustScore and total reviews.
146 runs · 4 users · $0.0006 / review scrapedACRA Singapore Company Registry Scraper
Search and export Singapore's full ACRA corporate registry: UEN, entity name, status, incorporation date, address, SSIC industry codes, officers, former names and audit firms. Filter by name, status, entity type or industry. Public open data, no setup.
138 runs · 10 users · $0.01 / company scrapedWayback Machine Scraper
List every Internet Archive (Wayback Machine) snapshot of a URL or whole domain: timestamp, snapshot URL, status code, MIME type and content digest. Filter by date, status and dedupe. For SEO, OSINT and historical research. No setup.
135 runs · 15 users · $0.002 / snapshot scrapedSend the site and the fields. We build it and you get it first.