Helm Repo Index Extractor
Pricing
from $0.35 / 1,000 charts
Helm Repo Index Extractor
Point at any Helm chart repository's index.yaml and get one structured row per chart version: appVersion, digest, dependencies, maintainers, keywords, sources, deprecation and more.
Pricing
from $0.35 / 1,000 charts
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a month ago
Last modified
Categories
Share
Point at any Helm chart repository's index.yaml and get one clean,
structured row per chart version — the entire repository catalogue as a flat
dataset you can filter, diff, inventory, or feed into an SBOM / supply-chain
pipeline.
Every Helm repository — Prometheus Community,
Grafana,
Jetstack / cert-manager,
Bitnami,
HashiCorp,
ingress-nginx,
and the tens of thousands of self-hosted and GitHub-Pages-hosted repos — publishes
the identical Helm repository index standard. So this one actor works against
all of them. No per-repo scraper, no host enumeration: give it an index.yaml
URL and it returns the whole catalogue.
Quick start (3 rows, about $0.0015)
Paste this into the Input tab (JSON view) and click Start:
{"indexUrl": "https://charts.jetstack.io/index.yaml","chartFilter": "cert-manager","maxRecords": 3}
You get the three newest cert-manager chart versions. Always set maxRecords
when you try a new repository: the Jetstack index holds 412 chart versions and the
Prometheus Community index holds 4,273 (counted 2026-09-25).
Output preview (real local run, 2026-09-25)
| chart | version | appVersion | created | kubeVersion | chartUrl |
|---|---|---|---|---|---|
| cert-manager | v1.21.2 | v1.21.2 | 2026-09-11T06:54:32Z | >= 1.22.0-0 | https://charts.jetstack.io/charts/cert-manager-v1.21.2.tgz |
| cert-manager | v1.21.1 | v1.21.1 | 2026-07-29T14:46:40Z | >= 1.22.0-0 | https://charts.jetstack.io/charts/cert-manager-v1.21.1.tgz |
| cert-manager | v1.21.0 | v1.21.0 | 2026-07-08T22:06:31Z | >= 1.22.0-0 | https://charts.jetstack.io/charts/cert-manager-v1.21.0.tgz |
Each row also carries digest, dependencies, maintainers, annotations, _raw
and totals (_chartCount 7, _versionCount 412, _chartVersionCount 235 for
cert-manager in this run), so you can see how big a full harvest would be before
you raise the cap.
What you get
One dataset row per chart version, with every standard Helm index field
flattened and safely nullable (a repo that omits a field simply yields null):
| Field | Description |
|---|---|
chart / name | Chart name |
version | Chart version (SemVer) — one row each |
appVersion | Version of the app the chart deploys |
chartApiVersion | Chart schema (v1 / v2) |
chartType | application or library |
created | Publish timestamp (ISO-8601) |
digest | SHA-256 digest of the packaged chart |
description | Chart description |
deprecated | Whether the version is deprecated |
kubeVersion | Compatible Kubernetes version range |
home / icon | Project home URL / icon URL |
chartUrl | Direct, absolute download URL of the .tgz (relative repo URLs resolved for you) |
urls | Raw download URL list |
sources | Source-code repository URLs |
keywords | Chart keywords |
dependencies | Sub-chart dependencies (name, version, repository, condition, …) |
maintainers | Maintainers (name, email, url) |
annotations | Chart annotations (e.g. ArtifactHub metadata) |
_raw | The lossless original version entry |
_source, _chartCount, _versionCount, _chartVersionCount | Provenance & totals |
Input
| Field | Required | Description |
|---|---|---|
indexUrl | ✅ | URL of a Helm repository index.yaml. Redirects are followed. |
chartFilter | Case-insensitive substring; only matching chart names are emitted. | |
maxRecords | Global cap on emitted rows (each row = one chart version). | |
bearer | Bearer token for a private/gated repo. Never logged. | |
extraHeaders | Extra request headers (JSON object) for gated repos. Never logged. |
Example
{"indexUrl": "https://charts.jetstack.io/index.yaml","chartFilter": "cert-manager","maxRecords": 25}
Notes
- Large repos: a single popular chart can have hundreds of releases (Bitnami's
index is tens of MB and holds thousands of versions). Use
maxRecordsand/orchartFilterto scope a run; charts are processed in sorted name order so a capped run is deterministic. - Robust by design: fields are read by key presence, so a repository that
omits
appVersion,dependencies,maintainers,type, etc. never breaks the run — the missing column is simplynull. - Honest failure: if the URL doesn't return a Helm repository index (an HTML
error page, a 404, or YAML without an
entriesmap) the run fails fast rather than emitting empty rows.
Pricing
Pay-per-event: one chart charge per emitted chart-version row. You only pay
for the rows you extract. If a run emits nothing (bad URL, no matching charts), you pay no chart events.
| Run | Rows | FREE-tier event cost ($0.0005/row) |
|---|---|---|
| Quick start above | 3 | $0.0015 |
| Default cap (field left at 8) | 8 | $0.004 |
| All Jetstack versions (cap cleared) | 412 | ~$0.21 |
| All Prometheus Community versions (cap cleared) | 4,273 | ~$2.14 |
Paid Apify plans get lower per-row prices through the tiered discount. These figures cover event charges only, not Apify platform compute, and repository sizes change over time.
If you set a maximum cost per run, the Actor checks it before downloading the index, and again before each batch of rows. It stops once another row would not fit. You get only the rows you paid for, and a failed charge fails the run.