Docker Hub Scraper
Pricing
Pay per usage
Docker Hub Scraper
Scrape Docker Hub repositories, container images & metadata efficiently. Essential for market research, competitive analysis, developer tool insights, registry monitoring & API integrations.
Pricing
Pay per usage
Rating
5.0
(2)
Developer
Shahid Irfan
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
What does Docker Hub Scraper do?
Docker Hub Scraper is a Docker Hub scraper for collecting public repository and container image metadata from Docker Hub search results. Start with a keyword such as node, python, or postgres, or provide a Docker Hub search URL with its query and filters. The Actor returns structured records with repository names, descriptions, pull counts, star counts, official image flags, timestamps, and direct Docker Hub URLs.
Use the resulting dataset for Docker registry monitoring, developer-tool discovery, competitive research, image cataloging, and data pipelines. Results can be downloaded in common formats or connected to an API, webhook, spreadsheet, or automation workflow through Apify.
Why use Docker Hub Scraper?
- Build Docker image catalogs - Collect searchable lists of repositories by technology, vendor, framework, or use case.
- Monitor registry activity - Track pull counts, stars, update timestamps, and repository availability across recurring runs.
- Find developer tools - Discover container images for development stacks, databases, observability tools, CI workflows, and infrastructure projects.
- Support competitive research - Compare repository popularity, descriptions, official status, and update activity across related images.
- Create repeatable data pipelines - Produce individual dataset records that can be exported, filtered, enriched, or sent to downstream systems.
What data can you extract from Docker Hub?
The Actor saves one dataset item for each collected repository. Empty or unavailable values may be omitted from an item because Docker Hub does not publish every field for every repository.
| Field | Description |
|---|---|
search_query | Docker Hub search query associated with the result. |
rank | Position of the result in the collected dataset. |
repo_name | Full repository identifier, usually in namespace/name format. |
namespace | Docker Hub user, organization, or namespace that owns the repository. |
name | Repository or container image name. |
short_description | Short repository summary shown in search results. |
description | Longer repository description when detail collection succeeds and the value is available. |
pull_count | Number of recorded pulls for the repository. |
star_count | Number of Docker Hub stars for the repository. |
is_official | Boolean indicating whether Docker Hub marks the repository as official. |
is_automated | Boolean indicating whether automated builds are enabled when reported. |
repository_type | Repository type reported by Docker Hub, such as an image repository. |
status | Repository status value reported by Docker Hub. |
date_registered | Repository registration timestamp when available. |
last_updated | Most recent repository update timestamp when available. |
last_modified | Most recent metadata modification timestamp when available. |
url | Direct URL to the Docker Hub repository page. |
How to use Docker Hub Scraper
- Open Docker Hub Scraper in Apify Console.
- Enter a
keyword, a Docker Hub searchstartUrl, or both. At least one of these two inputs is needed for a run. - Choose whether to collect extended repository details with
collectDetails. - Set
onlyOfficialtotrueif the dataset should contain only official repositories. - Set
results_wantedandmax_pagesto control the collection size and pagination. - Start the run and review the dataset preview.
- Download the results or connect the dataset to your API, webhook, spreadsheet, or automation workflow.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | Conditional | "https://hub.docker.com/search?q=apify" | Docker Hub search URL. The URL can include the search query and supported filters, such as an official-image filter. |
keyword | String | Conditional | "apify" | Keyword or phrase used to search Docker Hub repositories. |
collectDetails | Boolean | No | true | Collect extended fields such as description, status, repository_type, and available timestamps. |
onlyOfficial | Boolean | No | false | Keep only repositories marked as official by Docker Hub. |
results_wanted | Integer | No | 20 | Maximum number of repository records to save. The minimum value is 1. |
max_pages | Integer | No | 10 | Maximum number of Docker Hub result pages to process. The minimum value is 1. |
proxyConfiguration | Object | No | { "useApifyProxy": false } | Apify proxy settings for the run. The default configuration does not enable the Apify Proxy. |
startUrl and keyword are individually optional in the input schema, but the Actor needs at least one of them at runtime. If both are provided, the search URL can provide the starting search context while keyword provides an explicit query.
Output Data
The output is an Apify dataset containing one JSON object per repository. The fields below describe the normal output shape. Fields marked as conditional can be absent when detail collection is disabled or Docker Hub does not provide the value.
| Field | Type | Availability | Description |
|---|---|---|---|
search_query | String | Usually included | Query used for the collected result. |
rank | Integer | Included | Result rank in the collected order. |
repo_name | String | Included | Full repository name. |
namespace | String | Included when available | Repository namespace or organization. |
name | String | Included | Image or repository name. |
short_description | String | When available | Search-result summary. |
description | String | Conditional | Extended repository description. |
pull_count | Integer | When available | Repository pull count. |
star_count | Integer | When available | Repository star count. |
is_official | Boolean | When available | Official repository flag. |
is_automated | Boolean | Conditional | Automated-build flag. |
repository_type | String | Conditional | Docker Hub repository type. |
status | Integer | Conditional | Docker Hub status value. |
date_registered | String | Conditional | Registration timestamp. |
last_updated | String | Conditional | Last update timestamp. |
last_modified | String | Conditional | Last metadata modification timestamp. |
url | String | Included when available | Direct Docker Hub repository URL. |
Usage Examples
Basic keyword search
Collect up to 20 repositories matching a Docker Hub keyword using the default detail setting.
{"keyword": "node","results_wanted": 20}
Search from a Docker Hub URL
Start from a saved Docker Hub search URL and collect up to 50 matching records across no more than five pages.
{"startUrl": "https://hub.docker.com/search?q=python","collectDetails": true,"results_wanted": 50,"max_pages": 5}
Collect official images only
Use onlyOfficial to focus a database or catalog on repositories marked as official by Docker Hub.
{"keyword": "postgres","onlyOfficial": true,"collectDetails": true,"results_wanted": 25}
Sample Output
The following example uses a Docker Hub node search result. Popularity metrics change over time, and detail fields depend on the information published for the repository at the time of the run.
{"search_query": "node","rank": 1,"repo_name": "library/node","namespace": "library","name": "node","short_description": "Node.js is a JavaScript-based platform for server-side and network applications.","description": "Node.js is a JavaScript-based platform for server-side and network applications.","pull_count": 6834316325,"star_count": 14192,"is_official": true,"is_automated": false,"repository_type": "image","status": 1,"date_registered": "2014-06-18T00:00:00.000Z","last_updated": "2026-08-24T00:00:00.000Z","last_modified": "2026-08-24T00:00:00.000Z","url": "https://hub.docker.com/r/library/node"}
Tips for Best Results
-
Start with a small limit - Test a keyword with
results_wantedset to10or20before collecting a larger dataset. -
Use specific search terms - Technology names, image names, vendors, and framework names generally produce more useful results than broad terms.
-
Enable details when needed - Keep
collectDetailsenabled for repository descriptions, status, type, and timestamp fields. Disable it when the search summary and popularity metrics are enough. -
Use official filtering deliberately - Set
onlyOfficialtotruefor trusted base-image catalogs or official technology lists. Leave itfalsewhen community images are also relevant. -
Control pagination - Increase
max_pagesfor broader discovery, but keep it aligned withresults_wantedto avoid processing unnecessary pages. -
Expect source changes - Docker Hub metadata can change, and some repositories publish fewer fields than others. Review a dataset preview before relying on a field in an automated pipeline.
Integrations and export formats
- JSON - Send structured repository records to applications, APIs, and data-processing jobs.
- CSV and Excel - Review image catalogs, popularity metrics, and competitive comparisons in spreadsheet tools.
- Google Sheets - Maintain a shared repository inventory or monitoring worksheet.
- Webhooks - Notify a downstream service when a run completes.
- Make and Zapier - Trigger enrichment, alerts, reporting, or other no-code workflows.
- Apify API - Read dataset items programmatically and connect repeatable Docker Hub collection to internal data pipelines.
Frequently Asked Questions
Do I need a keyword to run Docker Hub Scraper?
No. Provide either keyword or startUrl. At least one is required at runtime, even though both fields are optional in the input form schema.
Can I use a Docker Hub search URL?
Yes. Set startUrl to a public Docker Hub search URL, such as https://hub.docker.com/search?q=node. The Actor uses the query and search context available in the URL.
Can I collect only official Docker images?
Yes. Set onlyOfficial to true. You can also use a Docker Hub URL that includes an official-image filter when that filter is supported by the search page.
What happens when collectDetails is disabled?
The Actor still collects repository search results and their available summary and popularity fields. Extended description, status, repository type, and timestamp fields may not be included.
Why are some output fields missing?
Some fields are missing when Docker Hub does not publish them for a repository or when detail collection is disabled. Empty values are omitted from dataset items rather than returned as misleading data.
Can I export Docker Hub data to CSV or Excel?
Yes. Apify dataset results can be downloaded as JSON, CSV, Excel, XML, and other supported formats. You can also access the records through the Apify API or send them to integrations.
Can I schedule recurring Docker Hub monitoring?
Yes. Create an Apify schedule to run the Actor hourly, daily, weekly, or at another interval. Use the same search inputs when you want to compare repository activity over time.
Is it legal to collect Docker Hub data?
Public data collection may be subject to Docker Hub terms, applicable laws, and organizational policies. You are responsible for using the Actor responsibly, respecting access limits, and ensuring that your intended use complies with the rules that apply to you.
Related Actors
- Apify Store Scraper - Collect marketplace metadata for Apify Actors, useful for tool and competitive research.
- SaaSHub Alternatives Scraper - Gather software alternatives for broader developer-tool research.
- Website Tech Stack Detector - Analyze technologies used by websites for technology research and lead qualification.
- Hacker News Data Scraper - Track developer and startup discussions that complement Docker ecosystem monitoring.
Support
For an issue, incorrect field, or feature request, use the Issues tab on the Actor page. Include the input used, the run ID when available, and a short description of the unexpected result so the problem can be investigated efficiently.
Legal Notice
Docker Hub Scraper is intended for legitimate collection and analysis of publicly available Docker Hub information. You are responsible for complying with Docker Hub terms, applicable laws, privacy requirements, and any usage restrictions that apply to your project. Do not use collected data for unlawful, deceptive, or abusive purposes.