jtprogru/indexnow
Submit URLs to the IndexNow protocol (Bing, Yandex, Naver, Seznam, Yep, ...) from a workflow.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jun 2, 2026
- License
- MIT
Pinned Snippet
uses: jtprogru/indexnow@68304252103383611a5ae976218111ad1ba69d46 # v0.7.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| key | IndexNow key (8..128 chars, [A-Za-z0-9-]). Required. | yes | — |
| urls | Newline-separated list of URLs. | no | "" |
| file | Path (relative to workspace) to a file with one URL per line. | no | "" |
| sitemap | URL or filesystem path to a sitemap.xml (.gz / <sitemapindex> are followed). | no | "" |
| urls-from | Bash snippet whose stdout becomes the URL list (one URL per line; '#'-prefixed lines are comments; blank lines ignored). Runs in $GITHUB_WORKSPACE so `git diff` works against the checked-out repo. Empty output is success — the step exits 0 with submitted-count=0 and submit is not invoked. | no | "" |
| sitemap-since | RFC3339 timestamp; drop entries with <lastmod> older than this. | no | "" |
| sitemap-timeout | Per-request HTTP timeout for sitemap fetches. | no | "" |
| host | Site host (e.g. example.com). Inferred from first URL if empty. | no | "" |
| key-location | Absolute URL to the hosted key file. Derived from host+key if empty. | no | "" |
| endpoint | Endpoint alias(es) or full URL(s), comma-separated (api|bing|yandex|naver|seznam|yep). | no | api |
| user-agent | HTTP User-Agent header. Defaults to `indexnow/<version>`. | no | "" |
| fail-on | When to set non-zero exit — any|4xx|5xx|never. | no | any |
| quiet | Suppress the CLI's stdout in the step log. Outputs/summary still populate. | no | false |
| verbose | Emit slog lifecycle/retry events to stderr. | no | false |
| dry-run | Print what would be sent and exit without contacting the endpoint. | no | false |
| max-retries | Maximum retry attempts on 429/5xx/transport. | no | "" |
| base-backoff | Initial retry backoff (Go duration, e.g. 200ms). | no | "" |
| max-backoff | Max retry backoff (Go duration, e.g. 5s). | no | "" |
| config | Path to an indexnow yaml config (relative to $GITHUB_WORKSPACE). | no | "" |
| version | indexnow release to install. Empty = pinned to the Action's tag; "latest" = newest release. | no | "" |
| github-token | Token used to call the GitHub Releases API (avoids unauthenticated rate-limit). | no | ${{ github.token }} |
Outputs
| name | description |
|---|---|
| exit-code | Exit code of `indexnow submit`. |
| submitted-count | Sum of urlCount across all batches (0 in dry-run mode). |
| failed-count | Number of batches that finished non-2xx or with an error (0 in dry-run mode). |
| report | One-line human summary; also written to $GITHUB_STEP_SUMMARY. |