Quay.io Container Tags Scraper
Pricing
from $7.50 / 1,000 results
Quay.io Container Tags Scraper
Scrapes Quay.io container tags by repository slug and returns each tag as a flat row with name, manifest digest, size, and last modified date.
Pricing
from $7.50 / 1,000 results
Rating
0.0
(0)
Developer
Acquisition Automation Co.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
23 days ago
Last modified
Categories
Share

π¦ Quay.io Container Tags Scraper
List every tag in a Quay.io repository as a row: tag name, manifest digest, size, last modified date and whether it is still current. Give it a
namespace/nameslug and it pages the tag list for you. No login, no API token.
Quay.io hosts the container images a great deal of infrastructure runs on, including coreos/etcd and prometheus/prometheus. The tag list is shown a page at a time in a web console, and the digests, timestamps and expiry flags that matter live behind it. If you keep a record of what you deploy, audit which tags are still live, or want release history for an image, you end up clicking through pages. This Actor reads the tag list and writes each tag into a dataset.
| Who uses it | What they use the tag list for |
|---|---|
| π Platform and DevOps engineers | Keeping an inventory of the image tags in use, with digests pinned |
| π Security and supply chain teams | Auditing which tags are still current and which have expired |
| π§ͺ Release engineers | Reading an image's release cadence from lastModified across tags |
| π Technical diligence teams | Checking what a target company ships publicly and how often it ships it |
π What it does
π‘ Why it matters: a tag moves, a digest does not. Pulling both in one row is what turns "we run
v3.7.1" into something you can verify later.
- π· Pages the full tag list for any public
namespace/namerepository. - π Returns the manifest digest alongside the tag name, so a pin is reproducible.
- π Keeps the last modified date as a readable string and as a Unix timestamp.
- π― Single tag mode. Pass
specificTagfor an exact name and skip the pagination entirely. - π§Ή Active only, by default. Expired and hidden tags are excluded unless you ask for them.
- π¦ One row per tag, the same 14 fields every run, exportable as CSV, Excel, JSON or XML.
π Output
Every tag is one flat row. null means Quay publishes no value for that field on that tag.
| Field | Type | Description |
|---|---|---|
π repository | string | The repository slug the row came from, for example coreos/etcd |
π· name | string | Tag name, for example v3.7.1 |
π manifestDigest | string | The sha256: digest the tag points at |
π size | integer | Compressed size in bytes. null on multi architecture tags, where size lives on each child manifest |
π
lastModified | string | Last modification date as Quay formats it, for example Thu, 23 Jul 2026 19:36:01 -0000 |
π startTs | integer | Unix timestamp the tag became current |
π endTs | integer | Unix timestamp the tag stopped being current. null while it is still current |
β³ expiration | string | Expiry set on the tag, null when none is set |
π dockerImageId | string | Legacy Docker v1 image id, null for images built without it |
π reversion | boolean | true when the tag was restored to an earlier manifest |
π§© isManifestList | boolean | true when the tag points at a multi architecture manifest list |
β
isCurrent | boolean | true when this is the live version of the tag |
π scrapedAt | string | ISO timestamp of collection |
β οΈ error | string | null on a normal row |
Example rows
{"repository": "coreos/etcd","name": "v3.7.1","manifestDigest": "sha256:3c66a5191d37a11af19f50ad49beed162a988bd1752eabc9fe6b164f7ee443e5","size": null,"lastModified": "Thu, 23 Jul 2026 19:36:01 -0000","startTs": 1784835361,"endTs": null,"expiration": null,"dockerImageId": null,"reversion": false,"isManifestList": true,"isCurrent": true,"scrapedAt": "2026-09-14T16:21:20.610Z","error": null}
{"repository": "coreos/etcd","name": "v3.7.1-s390x","manifestDigest": "sha256:ea087ea6d67ae1eb9637c180aeebed86dd5e9e0f5d658eda230f767b03447a61","size": 21655013,"lastModified": "Thu, 23 Jul 2026 19:35:42 -0000","startTs": 1784835342,"endTs": null,"expiration": null,"dockerImageId": null,"reversion": false,"isManifestList": false,"isCurrent": true,"scrapedAt": "2026-09-14T16:21:20.714Z","error": null}
β¨ Why choose this Actor
| What you get | |
|---|---|
| Digest and tag on one row | Pin by digest without a second lookup per tag. |
| Timestamps in both forms | lastModified for reading, startTs for sorting and differencing. |
| The lifecycle flags | isCurrent, endTs, expiration and reversion say whether a tag is still real. |
| No credentials | Public repositories are read without a Quay account or token. |
| $0.0085 a row | A thousand tags costs $8.50, and a repository with no tags costs nothing. |
π How to use it
- Create a free Apify account. New accounts start with $5 of credit.
- Open the Actor and select Try for free.
- Put the repository slug in
repository, innamespace/nameform. - Set
maxItemsto cap the run. LeaveonlyActiveTagsontrueunless you want expired tags too. - Select Start, then export from the Dataset tab as CSV, Excel, JSON or XML.
A first run:
{"repository": "coreos/etcd","maxItems": 10,"onlyActiveTags": true}
One exact tag:
{"repository": "prometheus/prometheus","specificTag": "v2.53.0"}
Everything, including expired tags:
{"repository": "coreos/etcd","maxItems": 1000,"onlyActiveTags": false}
βοΈ Input
| Field | Required | Description |
|---|---|---|
repository | No | Repository slug in namespace/name form, for example coreos/etcd. Defaults to coreos/etcd |
maxItems | No | Maximum tags to collect in a run |
onlyActiveTags | No | true excludes expired and hidden tags. Defaults to true |
specificTag | No | Exact tag name. Set it and the Actor returns that tag only, ignoring pagination |
π° Pricing
Pay per result. No subscription, and no Apify platform usage on top.
| Apify plan | Free | Bronze | Silver | Gold | Platinum | Diamond |
|---|---|---|---|---|---|---|
| Per tag row | $0.0085 | $0.00817 | $0.00783 | $0.0075 | $0.0075 | $0.0075 |
| Rows collected | Cost on the Free plan |
|---|---|
| 100 | $0.85 |
| 1,000 | $8.50 |
| 10,000 | $85.00 |
Free plan runs return a small preview. Any paid Apify plan lifts the cap.
π Integrate with any app
The dataset is available through the Apify API as soon as the run finishes. Use run-sync-get-dataset-items for a one-shot call, webhooks to trigger what happens next, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page. On a schedule, it becomes a tag history for the repositories you depend on.
π€ Use with an AI agent
Give an agent live access to Quay.io tag lists over the Model Context Protocol:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=acquistion-automation/quay-io-tags-scraper"
Then ask it in plain language for the newest tag of an image and read the digest back.
β Frequently asked questions
Why is size null on some tags?
Multi architecture tags point at a manifest list rather than a single image, and Quay reports no single size for them. Those rows have isManifestList set to true. The per architecture tags beside them carry a size.
Can it read a private repository? No. It reads public repositories only, with no token.
How do I get just one tag?
Set specificTag to the exact name. Pagination is skipped and the run returns that tag.
What does reversion mean?
Quay sets it when a tag has been moved back to an earlier manifest, so the current digest is one the tag pointed at before.
Why is dockerImageId empty?
It is a legacy Docker v1 identifier. Images built with modern tooling do not carry one, and Quay returns nothing for it.
What can I export? CSV, Excel, JSON and XML from the run page, or JSON straight from the API.
π More from Acquisition Automation Co.
- RAWG Scraper
- DrugBank Open Scraper
- Clutch Agencies Scraper
- 404 Media Articles Scraper
- SAM.gov Contract Opportunities Scraper
About Acquisition Automation Co.
We build automation for people buying businesses. The repetitive part of an acquisition search, checking listings, pulling public records, tracking owners and assets, is work a machine should do, so the buyer's time goes into judging deals instead of collecting them.
We add new Actors regularly. If there is a source you need and do not see here, tell us.
π Support
Open an issue in the Issues tab of this Actor with your run ID, the input you used, and what you expected to get back.
β οΈ Disclaimer
This Actor is independent and is not affiliated with, endorsed by, or sponsored by Quay.io or Red Hat, Inc. It collects only publicly available data. You are responsible for using that data in compliance with the source's terms of service and applicable law.