Pub.dev Scraper | Dart and Flutter Packages
Pricing
from $19.00 / 1,000 results
Pub.dev Scraper | Dart and Flutter Packages
Pull Dart and Flutter package data from pub.dev including name, version, publisher, pub points, popularity, likes, platforms, dependencies, and license. Track the Flutter ecosystem, audit deps, and build developer tooling for mobile, web, and desktop Dart projects.
Pricing
from $19.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share

📦 Pub.dev Flutter Package Scraper
🚀 Export Dart and Flutter package data from pub.dev with quality metrics in seconds. No API key required. No login needed.
🕒 Last updated: 2026-05-22 · 📊 17 fields per record · Unlimited packages · Global coverage
The Pub.dev Flutter Package Scraper pulls real-time data directly from pub.dev's public API. Each record includes the package name, version, description, publisher, like count, pub points, 30-day download count, SDK constraints, topics, homepage, repository link, and publish date. The dataset is sourced live from pub.dev's official REST API - no scraping of HTML, no stale cache.
Pub.dev is the official package repository for Dart and Flutter, hosting over 50,000 packages. This actor gives you structured, machine-readable access to every package's quality metrics and metadata - ideal for ecosystem analysis, dependency auditing, SDK compatibility research, and package discovery at scale.
Target Audience / Use Cases
| Who | What they use it for |
|---|---|
| Flutter developers | Discover top packages by topic, check SDK compatibility |
| DevOps / platform teams | Audit dependencies for license, quality, and pub points |
| Researchers | Analyze the Dart/Flutter ecosystem growth and trends |
| Open source maintainers | Benchmark their packages against competitors |
| Data engineers | Build dashboards tracking package popularity over time |
| Security teams | Monitor packages for version updates and publisher changes |
📋 What the Pub.dev Scraper does
- Searches pub.dev by keyword (e.g. "http", "state management", "firebase") or browses all packages
- Fetches package detail, score, and publisher in parallel for maximum speed
- Returns 17 structured fields per package including likes, pub points, and 30-day downloads
- Respects free/paid user tiers - free users get a 10-item preview automatically
- Handles pagination automatically to collect any volume of results
💡 Why it matters: pub.dev has no official export feature. Getting structured package data requires reverse-engineering the API or scraping HTML - this actor does that work for you, giving clean JSON/CSV/Excel output in seconds.
🎬 Full Demo
🚧 Coming soon - video walkthrough of a full package discovery workflow
⚙️ Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQuery | String | (empty) | Search keyword - e.g. "http", "firebase", "state management". Leave empty to browse top packages. |
maxItems | Integer | 10 | Max packages to collect. Free users: limited to 10. Paid users: up to 1,000,000. |
Example 1 - Search for HTTP packages:
{"searchQuery": "http","maxItems": 50}
Example 2 - Browse top 100 packages:
{"maxItems": 100}
⚠️ Good to Know: Leave
searchQueryempty to browse the full pub.dev catalog sorted by recent activity. When searching, results are ordered by pub.dev's relevance ranking.
📊 Output
Each record contains the following fields:
| Field | Type | Description |
|---|---|---|
📦 name | String | Package name (e.g. "http") |
🔗 url | String | Direct URL to the package on pub.dev |
🏷 latestVersion | String | Latest published version string |
📝 description | String | Package description from pubspec |
🏢 publisher | String / null | Publisher domain (e.g. "dart.dev", "flutter.dev") |
❤️ likeCount | Integer | Number of pub.dev likes |
🏅 pubPoints | Integer | Granted pub points (code quality score) |
🔢 maxPubPoints | Integer | Maximum possible pub points |
📈 popularityScore | Float / null | Popularity score 0.0-1.0 (deprecated by pub.dev, use downloadCount30Days) |
📥 downloadCount30Days | Integer | Downloads in the last 30 days |
🏷 topics | Array | Topics/tags assigned to the package |
🎯 sdkConstraint | String | Dart SDK version constraint (e.g. ">=3.0.0 <4.0.0") |
🦋 flutterConstraint | String / null | Flutter SDK constraint if the package requires Flutter |
🌐 homepage | String / null | Homepage URL from pubspec |
📁 repository | String / null | Source repository URL (GitHub, GitLab, etc.) |
🕒 publishedAt | ISO 8601 | Latest version publish timestamp |
🕒 scrapedAt | ISO 8601 | When the record was collected |
❌ error | String / null | Error message if collection failed for this package |
Sample record:
{"name": "http","url": "https://pub.dev/packages/http","latestVersion": "1.3.0","description": "A composable, Future-based library for making HTTP requests.","publisher": "dart.dev","likeCount": 5200,"pubPoints": 160,"maxPubPoints": 160,"popularityScore": null,"downloadCount30Days": 2847391,"topics": ["http", "networking"],"sdkConstraint": ">=3.0.0 <4.0.0","flutterConstraint": null,"homepage": null,"repository": "https://github.com/dart-lang/http","publishedAt": "2024-11-12T14:23:00.000Z","scrapedAt": "2026-05-21T01:46:48.000Z","error": null}
✨ Why choose this Actor
| Feature | This Actor |
|---|---|
| ✅ No API key required | Uses pub.dev's public REST API |
| ✅ Real-time data | Every run fetches live data - no cache |
| ✅ Parallel fetching | Detail + score + publisher fetched simultaneously per package |
| ✅ Publisher identification | Uses the dedicated /publisher endpoint for accurate publisher info |
| ✅ SDK constraints | Extracts both Dart and Flutter SDK version ranges |
| ✅ 30-day download metric | More reliable than deprecated popularity score |
| ✅ Full pagination | Collects any volume - from 10 to 1,000,000 packages |
| ✅ CSV / Excel / JSON / XML | All Apify export formats supported |
📈 How it compares to alternatives
| Approach | Speed | Structure | Scale | Maintenance |
|---|---|---|---|---|
| This Actor | Fast (API) | Full 17-field schema | 1M+ packages | Maintained |
| Manual browsing | Very slow | No export | 10-20 packages | N/A |
| Custom scripts | Requires setup | DIY | Unlimited | Self-maintained |
| pub.dev UI search | Slow | No export | 20 per page | N/A |
🚀 How to use
- Create a free Apify account (includes $5 credit)
- Open the Pub.dev Flutter Package Scraper actor
- Set
searchQueryto a keyword or leave empty for top packages - Set
maxItemsto the number of packages you want - Click Start and wait for results (typically seconds)
- Download your dataset as JSON, CSV, Excel, or XML
💼 Business use cases
Package Discovery and Evaluation
Find the best packages for a specific use case. Search "state management" and compare likes, pub points, and download counts across all competing packages. Filter by SDK constraint to ensure compatibility with your project's Dart version.
Dependency Auditing
Export your dependency list and cross-reference against pub.dev data to identify packages with low pub points, no publisher, or infrequent updates. Flag potential security or maintenance risks before they become production problems.
Flutter Ecosystem Analysis
Track the growth and health of the Flutter ecosystem over time. Monitor which publishers are most active, which topics are trending, and how download counts evolve across package categories.
SDK Compatibility Research
Identify all packages compatible with a specific Dart or Flutter SDK version range. Essential when planning SDK upgrades - know which packages you'll need to update or replace before migrating.
🔌 Automating Pub.dev Scraper
Connect this actor to your workflow tools:
- Make (formerly Integromat) - Schedule weekly package audits, send results to Google Sheets
- Zapier - Trigger on new results, create Jira tickets for dependency updates
- Slack - Post weekly ecosystem digest to your Flutter dev channel
- Google Sheets - Live dashboard of your monitored packages
- Webhooks - Integrate with any internal tooling via Apify webhooks
🌟 Beyond business use cases
Research and Academia
Study the evolution of the Dart/Flutter ecosystem. Analyze how package quality metrics correlate with adoption rates. Track the rise and fall of competing solutions to common problems.
Open Source Contribution
Identify underserved niches in the Flutter ecosystem. Find packages with high like counts but low pub points - good candidates for forks or improvements.
Learning and Experimentation
Explore how top-rated packages are structured. Compare SDK constraints across packages to understand Dart versioning practices in the community.
Community and Content Creation
Generate data-driven articles about the Flutter ecosystem. "Top 50 Flutter packages by downloads this month" becomes trivial with this actor.
🤖 Ask an AI assistant about this scraper
You can ask an AI assistant things like:
- "Which packages have more than 1000 likes and a Flutter constraint?"
- "Show me all packages published by dart.dev"
- "Compare pub points across packages with the 'networking' topic"
- "Find packages with sdkConstraint compatible with Dart 3.0"
Load your dataset export into any AI chat tool and start exploring.
❓ Frequently Asked Questions
❓ Does this require authentication? No. pub.dev's API is fully public. No API key, no login, no rate limit headers needed.
❓ How fresh is the data? Every run fetches live data from pub.dev's API. Results are as fresh as pub.dev itself.
❓ Can I search for multiple keywords? Currently the actor accepts one search query per run. For multiple keywords, start multiple runs or use Apify's schedule feature.
❓ Why is popularityScore null for some packages?
pub.dev deprecated the popularityScore field in their API. Use downloadCount30Days instead - it's a more reliable indicator of actual usage.
❓ What does publisher being null mean? Packages without a verified publisher show null. The package may still be active and high quality - publisher verification is optional on pub.dev.
❓ How many packages can I collect? Free users are limited to 10 packages per run (preview). Paid users can collect up to 1,000,000 packages.
❓ Can I filter by SDK version?
Not directly in the input - collect all results and filter by sdkConstraint in your spreadsheet or data pipeline.
❓ What's the difference between pubPoints and maxPubPoints?
pubPoints is the score actually granted (0-160). maxPubPoints is the ceiling (usually 160). High-quality packages score 140-160.
❓ Does the actor follow pagination automatically?
Yes. It fetches page after page until maxItems is reached or all results are exhausted.
❓ Can I run this on a schedule? Yes - use Apify's built-in scheduler to run weekly ecosystem snapshots automatically.
❓ Is this actor maintained? Yes. ParseForge monitors pub.dev's API for changes and updates the actor accordingly.
❓ What export formats are available? JSON, CSV, Excel (XLSX), and XML - all standard Apify dataset export formats.
🔌 Integrate with any app
This actor works with every tool that connects to Apify:
Spreadsheets: Google Sheets, Microsoft Excel, Airtable Automation: Make, Zapier, n8n, Activepieces Databases: PostgreSQL, MySQL, MongoDB, BigQuery, Snowflake BI Tools: Tableau, Power BI, Looker, Metabase Dev Tools: REST API, Python client, JavaScript client, CLI Notifications: Slack, Email, Discord, PagerDuty (via webhooks)
🔗 Recommended Actors
| Actor | Description |
|---|---|
| GitHub Repositories Scraper | Scrape GitHub repo metadata, stars, and topics |
| npm Package Scraper | Extract npm package stats and dependency data |
| PyPI Package Scraper | Python ecosystem package metadata and download counts |
💡 Pro Tip: browse the complete ParseForge collection to find scrapers for 100+ platforms - all maintained, all real-time.
Disclaimer: This actor uses pub.dev's public REST API in accordance with their terms of service. All data is publicly available without authentication. ParseForge is not affiliated with pub.dev, the Dart team, or Google. Use this data responsibly and in compliance with applicable laws.