Docker Hub Scraper avatar

Docker Hub Scraper

Pricing

Pay per usage

Go to Apify Store
Docker Hub Scraper

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

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

1

Monthly active users

13 days ago

Last modified

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.

FieldDescription
search_queryDocker Hub search query associated with the result.
rankPosition of the result in the collected dataset.
repo_nameFull repository identifier, usually in namespace/name format.
namespaceDocker Hub user, organization, or namespace that owns the repository.
nameRepository or container image name.
short_descriptionShort repository summary shown in search results.
descriptionLonger repository description when detail collection succeeds and the value is available.
pull_countNumber of recorded pulls for the repository.
star_countNumber of Docker Hub stars for the repository.
is_officialBoolean indicating whether Docker Hub marks the repository as official.
is_automatedBoolean indicating whether automated builds are enabled when reported.
repository_typeRepository type reported by Docker Hub, such as an image repository.
statusRepository status value reported by Docker Hub.
date_registeredRepository registration timestamp when available.
last_updatedMost recent repository update timestamp when available.
last_modifiedMost recent metadata modification timestamp when available.
urlDirect URL to the Docker Hub repository page.

How to use Docker Hub Scraper

  1. Open Docker Hub Scraper in Apify Console.
  2. Enter a keyword, a Docker Hub search startUrl, or both. At least one of these two inputs is needed for a run.
  3. Choose whether to collect extended repository details with collectDetails.
  4. Set onlyOfficial to true if the dataset should contain only official repositories.
  5. Set results_wanted and max_pages to control the collection size and pagination.
  6. Start the run and review the dataset preview.
  7. Download the results or connect the dataset to your API, webhook, spreadsheet, or automation workflow.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringConditional"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.
keywordStringConditional"apify"Keyword or phrase used to search Docker Hub repositories.
collectDetailsBooleanNotrueCollect extended fields such as description, status, repository_type, and available timestamps.
onlyOfficialBooleanNofalseKeep only repositories marked as official by Docker Hub.
results_wantedIntegerNo20Maximum number of repository records to save. The minimum value is 1.
max_pagesIntegerNo10Maximum number of Docker Hub result pages to process. The minimum value is 1.
proxyConfigurationObjectNo{ "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.

FieldTypeAvailabilityDescription
search_queryStringUsually includedQuery used for the collected result.
rankIntegerIncludedResult rank in the collected order.
repo_nameStringIncludedFull repository name.
namespaceStringIncluded when availableRepository namespace or organization.
nameStringIncludedImage or repository name.
short_descriptionStringWhen availableSearch-result summary.
descriptionStringConditionalExtended repository description.
pull_countIntegerWhen availableRepository pull count.
star_countIntegerWhen availableRepository star count.
is_officialBooleanWhen availableOfficial repository flag.
is_automatedBooleanConditionalAutomated-build flag.
repository_typeStringConditionalDocker Hub repository type.
statusIntegerConditionalDocker Hub status value.
date_registeredStringConditionalRegistration timestamp.
last_updatedStringConditionalLast update timestamp.
last_modifiedStringConditionalLast metadata modification timestamp.
urlStringIncluded when availableDirect Docker Hub repository URL.

Usage Examples

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_wanted set to 10 or 20 before 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 collectDetails enabled for repository descriptions, status, type, and timestamp fields. Disable it when the search summary and popularity metrics are enough.

  • Use official filtering deliberately - Set onlyOfficial to true for trusted base-image catalogs or official technology lists. Leave it false when community images are also relevant.

  • Control pagination - Increase max_pages for broader discovery, but keep it aligned with results_wanted to 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.

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.

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.

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.