Pubdev Scraper
Pricing
Pay per event
Pubdev Scraper
Scrape Dart and Flutter packages from pub.dev. Search by keyword and get package metadata, download counts, likes, pub points, and compatibility scores.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Pub.dev Scraper
Scrape Dart and Flutter packages from pub.dev, the official package repository for the Dart ecosystem. Search by keyword and get package names, versions, descriptions, download counts, likes, pub points, and repository links.
What does Pub.dev Scraper do?
Pub.dev Scraper uses the pub.dev public API to search for Dart and Flutter packages and extract full metadata. For each package, it fetches detailed information including version history, SDK constraints, platform support, and community metrics like likes and 30-day download counts.
Why scrape Pub.dev?
Pub.dev is the official package repository for Dart and Flutter, hosting over 50,000 packages. It's the definitive source for understanding the Flutter ecosystem.
Key reasons to scrape it:
- Ecosystem analysis — Map the Flutter/Dart package landscape for any domain
- Technology research — Find the most popular libraries for specific use cases
- Competitive intelligence — Track download trends for competing packages
- Developer tools — Build dashboards or recommendation engines for Flutter developers
- Quality assessment — Use pub points and likes to evaluate package maturity
Use cases
- Flutter developers finding the best packages for their projects
- Engineering managers evaluating Flutter ecosystem maturity for adoption decisions
- Technical writers researching popular packages for tutorials and guides
- Open-source maintainers tracking competitor package adoption
- Researchers studying package ecosystem dynamics and growth patterns
- Mobile development teams benchmarking package quality and maintenance
How to scrape Pub.dev
- Go to Pub.dev Scraper on Apify Store
- Enter one or more search keywords
- Set result limits
- Click Start and wait for results
- Download data as JSON, CSV, or Excel
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | (required) | Keywords to search for |
maxResultsPerSearch | integer | 50 | Max packages per keyword |
maxPages | integer | 5 | Max pages (10 packages/page) |
Input example
{"searchQueries": ["state management", "http client"],"maxResultsPerSearch": 20,"maxPages": 2}
Output
Each package in the dataset contains:
| Field | Type | Description |
|---|---|---|
name | string | Package name |
description | string | Package description |
version | string | Latest stable version |
published | string | Latest version publish date |
repository | string | Source code repository URL |
homepage | string | Homepage URL |
sdkConstraint | string | Required Dart SDK version |
likes | number | Community likes count |
downloads30Days | number | Downloads in the last 30 days |
pubPoints | number | Pub quality points earned |
maxPubPoints | number | Maximum possible pub points |
tags | string[] | Platform, SDK, and license tags |
pubDevUrl | string | Pub.dev package page URL |
scrapedAt | string | ISO timestamp of extraction |
Output example
{"name": "flutter_bloc","description": "Flutter Widgets that make it easy to implement the BLoC design pattern.","version": "9.1.1","published": "2025-12-15T10:30:00.000Z","repository": "https://github.com/felangel/bloc","homepage": "","sdkConstraint": "^3.5.0","likes": 7994,"downloads30Days": 1358460,"pubPoints": 160,"maxPubPoints": 160,"tags": ["sdk:flutter", "platform:android", "platform:ios", "platform:web", "is:null-safe"],"pubDevUrl": "https://pub.dev/packages/flutter_bloc","scrapedAt": "2026-03-03T03:30:00.123Z"}
Pricing
Pub.dev Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Run started | $0.001 |
| Package extracted | $0.001 per package |
Cost examples
| Scenario | Packages | Cost |
|---|---|---|
| Quick search | 20 | $0.021 |
| Ecosystem survey | 100 | $0.101 |
| Large analysis | 300 | $0.301 |
Platform costs are negligible — typically under $0.001 per run.
Using Pub.dev Scraper with the Apify API
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/pubdev-scraper').call({searchQueries: ['state management'],maxResultsPerSearch: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Found ${items.length} packages`);items.forEach(pkg => {console.log(`${pkg.name} v${pkg.version} (${pkg.likes} likes, ${pkg.downloads30Days.toLocaleString()} downloads/month)`);});
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('automation-lab/pubdev-scraper').call(run_input={'searchQueries': ['state management'],'maxResultsPerSearch': 20,})dataset = client.dataset(run['defaultDatasetId']).list_items().itemsprint(f'Found {len(dataset)} packages')for pkg in dataset:print(f"{pkg['name']} v{pkg['version']} ({pkg['likes']} likes, {pkg['downloads30Days']:,} downloads/month)")
Integrations
Pub.dev Scraper works with all Apify integrations:
- Scheduled runs — Track package popularity trends over time
- Webhooks — Get notified when a scrape completes
- API — Trigger runs and fetch results programmatically
- Google Sheets — Export package data to a spreadsheet
- Slack — Share trending packages with your team
Connect to Zapier, Make, or Google Sheets for automated workflows.
Tips
- Check pub points — packages scoring 160/160 follow all Dart best practices
- Compare likes vs downloads to find underrated but heavily-used packages
- Filter by tags in the output to find Flutter-specific vs Dart-only packages
- Look for
is:flutter-favoritetag to find Google-endorsed packages - Use repository links to check activity, issues, and community engagement
- Multiple keywords let you survey different aspects of the ecosystem in one run
FAQ
How many packages can I get? Each search page returns 10 packages. With pagination, you can fetch hundreds per keyword.
Does it include dependency information? The current version extracts package metadata and scores. For full dependency trees, you would need to parse the pubspec directly.
Can I filter by platform?
The search is keyword-based. Use the tags field in the output to filter by platform (e.g., platform:web, platform:android).
What are pub points? Pub points (0-160) measure package quality including documentation, platform support, code analysis, and dependency freshness.
How often is pub.dev data updated? Download counts and scores are updated regularly. New package versions appear immediately after publishing.