Docker Hub Tags Scraper - Size, Digest, Arch, Cheap avatar

Docker Hub Tags Scraper - Size, Digest, Arch, Cheap

Pricing

$0.80 / 1,000 item scrapeds

Go to Apify Store
Docker Hub Tags Scraper - Size, Digest, Arch, Cheap

Docker Hub Tags Scraper - Size, Digest, Arch, Cheap

List every Docker Hub repo tag with size, digest, architecture, OS, pulls and stars. No login needed. $0.0008/tag.

Pricing

$0.80 / 1,000 item scrapeds

Rating

0.0

(0)

Developer

Gio

Gio

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

List every tag of a Docker Hub repository with its size, digest, architecture, OS and last-push date, plus the repository's own star and pull counts, without touching the Docker Hub website.

Why use this scraper

Docker Hub's web UI shows tags one page at a time and does not expose size, digest or architecture without opening each tag individually. Anyone auditing which base images a team actually uses, tracking when a vendor pushes a new release, or comparing image sizes across tags ends up clicking through dozens of pages by hand. This actor calls the same public API Docker Hub itself uses and returns the full tag list as one dataset, sorted most-recently-pushed first.

Overview

Input is a repository in namespace/name form and a cap on how many tags to return. Output is one record per tag, each one carrying that tag's size, digest, architecture and OS alongside the repository-level star count, pull count and description, so you never need a second call to get the repository context. A pull of 25 tags typically finishes in a few seconds because the actor follows Docker Hub's own pagination directly.

Supported inputs

InputWhat it acceptsNotes
repositoryA Docker Hub repository, namespace/nameWorks for official images (library/nginx) and user/org repos (bitnami/postgresql)
maxItemsCap on tags returned1 to 100, default 25

Only one repository per run keeps each run's cost and scope predictable; loop over a list of repositories from your own orchestration if you need several. There is no mode switch to configure: the same two inputs answer "what tags does this repository have" whether you are checking an official image or a private team's public mirror.

Use cases

  • DevOps and platform teams auditing which image tags are actually in use before a base-image upgrade, by pulling the full tag list with sizes and push dates.
  • Security and compliance reviewers checking whether a vendor has pushed a patched tag yet, and when.
  • SRE and build engineers comparing compressed image sizes across tags to catch a bloated release before it reaches production.
  • Open-source maintainers tracking the pull and star counts of their own published images over time to report adoption.
  • Procurement and vendor-risk teams checking how actively a third-party image is maintained (last push date) before standardizing on it internally.
  • FinOps and image-size reviewers pulling every tag's fullSize to find which release introduced a size regression, instead of pulling and inspecting each image locally.

How it works

The actor calls Docker Hub's own public REST API, the same one the Docker Hub website and the docker CLI use to list tags, and walks its pagination until maxItems tags are collected or the repository runs out of tags, whichever comes first. There is no HTML to render and no login wall, because Docker Hub exposes public repository tags through this API without authentication. The same call also returns the repository's own star count, pull count and description, so the actor attaches that context to every tag record instead of making you join two separate lookups together yourself.

Input configuration

Default lookup, official image:

{
"repository": "library/nginx",
"maxItems": 25
}

Organization repository, larger pull:

{
"repository": "bitnami/postgresql",
"maxItems": 100
}

Smallest possible pull, just to check the latest tag:

{
"repository": "library/redis",
"maxItems": 1
}

Output sample

Real output from a live run against library/nginx:

[
{
"repository": "library/nginx",
"starCount": 21408,
"pullCount": 13457801749,
"repoDescription": "Official build of Nginx.",
"tagName": "stable-trixie-perl",
"lastUpdated": "2026-10-08T13:52:12.709508Z",
"fullSize": 75775660,
"architecture": "amd64",
"os": "linux",
"digest": "sha256:9e81d98c45ae75e3e8e6340c60d092182f50d125705398f2456002dda6f07755",
"scrapedAt": "2026-10-12T09:30:40.224Z"
},
{
"repository": "library/nginx",
"starCount": 21408,
"pullCount": 13457801749,
"repoDescription": "Official build of Nginx.",
"tagName": "1.30.5-trixie-perl",
"lastUpdated": "2026-10-08T13:51:01.810129Z",
"fullSize": 75775660,
"architecture": "amd64",
"os": "linux",
"digest": "sha256:9e81d98c45ae75e3e8e6340c60d092182f50d125705398f2456002dda6f07755",
"scrapedAt": "2026-10-12T09:30:40.418Z"
}
]

Key output fields

FieldTypeDescription
tagNameStringThe tag itself, e.g. 1.27-alpine
fullSizeInteger or nullCompressed image size in bytes
architecture / osString or nullTaken from the first image inside the tag
digestString or nullThe tag's content digest
lastUpdatedString or nullISO timestamp of the tag's last push
starCount / pullCountInteger or nullRepository-level stars and total pulls
repoDescriptionString or nullRepository's short description
scrapedAtStringISO timestamp of the extraction

A repository with no tags returns a single warning item instead. A repository that cannot be found returns repository and error instead of tag records, so a bad input is visible in the dataset rather than silently empty.

Pricing

Pay per event, no monthly fee:

EventPrice
Tag item scraped$0.0008

A pull of 100 tags costs $0.08. Warning and error items are never charged.

What makes this richer than the competition

The closest same-name competitor, parseforge/docker-hub-tags-scraper (1 user in the last 30 days), charges $0.0085 per result on its FREE tier, more than 10x this actor's $0.0008 per tag. hipersoft/docker-hub-scraper (2 users in the last 30 days) prices per repository scraped rather than per tag, which charges the same whether you pull 1 tag or 100, but does not return the full per-tag breakdown (size, digest, architecture, OS) this actor includes on every item. For a team that wants the complete tag list with technical detail per tag, not just a repository summary, at the lowest per-tag cost on the Store, this is the actor built for exactly that.

Notes & limitations

  • One repository per run. Scrape a list of repositories by looping the actor from your own orchestration.
  • Only the first image of a multi-architecture tag is described; architecture and os do not list every platform a multi-arch tag supports.
  • Tags come back in Docker Hub's own default order (most recently pushed first); there is no name filter or custom sort.
  • Private repositories are not supported, since the actor does not authenticate to Docker Hub.
  • Docker Hub rate-limits anonymous API requests; a very high maxItems against a repository with thousands of tags may take noticeably longer per run as a result.
  • Star and pull counts are repository-wide, not per tag: every tag record from the same run carries the same starCount and pullCount, since Docker Hub tracks those numbers at the repository level, not per release.
  • fullSize is the compressed size Docker Hub reports for the manifest, which is the number the Docker Hub website itself shows; it is not the on-disk size after a local docker pull decompresses the layers.

FAQ

Does this work for private Docker Hub repositories? No. The actor only reads what Docker Hub's public API exposes without authentication, the same data a logged-out visitor to the repository page would see.

What happens if the repository name is wrong? The run returns a single item with repository and error fields instead of tag records, so you can see exactly what failed instead of getting an empty, unexplained dataset.

Can I filter by tag name pattern? Not in this actor. It returns tags in Docker Hub's own order up to maxItems; filter the dataset afterward if you only need tags matching a pattern.

Does maxItems limit repositories or tags? Tags. One run always covers exactly one repository, and maxItems caps how many of that repository's tags come back.

Why is architecture sometimes null? Some tags, especially very old ones or manifest lists Docker Hub cannot resolve to a single image, do not expose architecture data through the public API; the actor returns null rather than guessing.

Can I get every architecture a multi-arch tag supports, not just the first one? Not in this actor; it reports the first image's architecture and OS per tag, which is the fastest way to answer "what changed between tags" without expanding every platform variant of every tag.

Does a bigger maxItems cost more per tag? No. Every tag item is charged the same flat $0.0008, whether the run returns 1 tag or the maximum of 100.

For AI Agents & LLM Apps

Call this actor from an MCP-compatible client via mcp.apify.com, or directly over the API:

curl "https://api.apify.com/v2/acts/gio21~dockerhub-tags-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"repository": "library/nginx", "maxItems": 10}'

run-sync-get-dataset-items returns the tag records directly in the response, so an agent checking whether a vendor shipped a new tag gets the answer in one tool call.

Disclaimer

This actor is an independent tool that reads Docker Hub's own public API. It is not affiliated with, endorsed by or sponsored by Docker, Inc. "Docker" and "Docker Hub" are trademarks of Docker, Inc. Use it in line with Docker Hub's own terms of service.

SEO Keywords

Docker Hub tags scraper, Docker Hub API scraper, Docker image tags scraper, Docker Hub tag digest scraper, Docker Hub pull count scraper, Docker repository tags export.