Docker Hub Images & Tags Scraper avatar

Docker Hub Images & Tags Scraper

Pricing

Pay per event

Go to Apify Store
Docker Hub Images & Tags Scraper

Docker Hub Images & Tags Scraper

Give us repository names or a search term; we page through Docker Hub's public API, retry on rate limits, and return typed rows per image tag -- digest, size, architectures, and freshness. No auth token needed.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Docker Hub Images & Tags Scraper icon

Docker Hub Images & Tags Scraper

$2.20 / 1 000 results โ€” pay only for results, no credit card to try.

๐Ÿณ What this scrapes

Docker Hub Images & Tags Scraper pulls structured rows from Docker Hub's public /v2 REST API โ€” one row per repository + tag pair. Give it a list of repository names (nginx, bitnami/redis) or a free-text search term, and it returns each tag's digest, size, supported architectures, and freshness (last_pushed / last_pulled), plus a resolvable Docker Hub URL. No Docker Hub account or auth token required.

๐Ÿ”ฅ Features

  • Repository or search input โ€” feed exact namespace/name repositories, or a search term we resolve to the top matching repositories first.
  • Full tag pagination โ€” we follow Docker Hub's next cursor across pages so you get every tag up to your configured cap, not just page one.
  • Per-tag architecture list โ€” deduplicated amd64 / arm64 / arm (and friends) for every tag, so you can filter multi-arch images without a second lookup.
  • Optional repository details โ€” opt in to one extra call per unique repository for star count, pull count, official-image flag, and a short description.
  • Fault-isolated batches โ€” one unknown or renamed repository in your list never stops the rest of the batch from completing.

๐ŸŽฏ Use cases

  • SBOM & supply-chain tooling โ€” build an inventory of image digests and architectures across your organization's repositories.
  • DevRel competitive intel โ€” track how often a vendor's official images are pushed and which architectures they support.
  • Security teams โ€” spot stale tags (old last_pushed) worth flagging for a rebuild, without hand-browsing the Hub UI.
  • Devtool vendors โ€” power a "search Docker Hub" feature in your own product without building pagination and rate-limit handling yourself.

โš™๏ธ How to use it

  1. Click Try for free on the Apify Store page (or Start in Console).
  2. Enter one or more Repositories (e.g. library/nginx, bitnami/redis), or leave it empty and set a Search query instead.
  3. Optionally raise Max tags per repository or turn on Include repository details.
  4. Run the Actor. Rows land in the run's default dataset as they're found.
  5. Export via the Results (JSON) / Results (CSV) links, or pull them over the API.

We rotate browser fingerprints and retry with exponential backoff on 408 / 429 / 503 responses, honouring Retry-After when Docker Hub sends it โ€” you don't have to build any of that yourself.

๐Ÿ“ฅ Input

FieldTypeDefaultDescription
repositoriesarray of string[]Repository names, one per line. Bare names imply library/name. Wins over search_query when both are set.
search_querystring | nullnullFree-text search term, used only when repositories is empty.
max_repositoriesinteger10Search-mode fan-out cap (1-25).
max_tags_per_repositoryinteger25Per-repository tag cap (1-100).
include_repository_detailsbooleanfalseFetch star/pull count, official flag, and description per unique repository.
proxy_configurationobject{"useApifyProxy": true}Standard Apify Proxy configuration.
{
"repositories": ["library/nginx", "bitnami/redis"],
"max_tags_per_repository": 5,
"include_repository_details": false,
"proxy_configuration": { "useApifyProxy": true }
}

๐Ÿ“ค Output

FieldTypeDescription
namespacestringRepository namespace (library for official images).
repository_namestringRepository name component.
tagstringTag name.
repository_urlstringResolvable Docker Hub URL for the repository.
digeststringTag manifest digest.
tag_statusstringDocker Hub tag status.
full_size_bytesintegerTag size in bytes.
architecturesarray of stringDeduplicated supported architectures.
media_typestring | nullTag manifest media type.
last_pushed / last_pulledstring | nullISO-8601 freshness timestamps.
star_count / pull_count / is_official / descriptionmixed | nullOnly populated with Include repository details on.
scraped_atstringISO-8601 UTC fetch timestamp.
{
"namespace": "library",
"repository_name": "nginx",
"tag": "1.27.3",
"repository_url": "https://hub.docker.com/_/nginx",
"digest": "sha256:abc123...",
"tag_status": "active",
"full_size_bytes": 44271616,
"architectures": ["amd64", "arm64", "arm"],
"media_type": "application/vnd.docker.distribution.manifest.list.v2+json",
"last_pushed": "2026-08-20T10:03:11Z",
"last_pulled": "2026-09-01T06:55:02Z",
"star_count": null,
"pull_count": null,
"is_official": null,
"description": null,
"scraped_at": "2026-09-01T07:00:00Z"
}

๐Ÿ’ฐ Pricing

Pay-per-event. No subscription, no minimum spend.

EventPriceTrigger
Actor start$0.20Once per run (warm-up)
Result$0.002Per repository+tag row written

Example: 1,000 rows โ‰ˆ $2.20.

๐Ÿšง Limitations

  • Public repositories only โ€” private/authenticated Docker Hub content is out of scope for this Actor.
  • Repository metadata is scoped to the short description field; the long-form full_description markdown is never fetched.
  • Image content (layers, docker pull) is out of scope โ€” this Actor returns metadata only.

โ“ FAQ

Does this need a Docker Hub account or token? No โ€” it uses Docker Hub's public, unauthenticated /v2 API.

What happens if a repository doesn't exist? We skip it, log a warning, and keep processing the rest of your batch.

What if my search term matches nothing? The run finishes successfully with zero rows and a status message naming what was searched โ€” you're not charged for rows that don't exist.

Can I get every tag for a huge repository? Set Max tags per repository up to 100 per repository per run; we follow Docker Hub's pagination cursor until that cap or the repository's real tag count, whichever comes first.

Your feedback

Found a bug, or need a field we don't scrape yet? Message us through the Apify Store page โ€” we read every note and ship fixes fast.