Skip to content

GitHub Action

The spidermedic GitHub Action runs the crawler inside a Docker container — no Rust toolchain or extra dependencies required.

Usage

- uses: beekmanlabs/spidermedic@main
with:
url: 'https://example.com'

Inputs

InputRequiredDefaultDescription
urlyesStarting URL to crawl
pathno/Restrict crawl to this URL path prefix
portno80Port override
intervalno300Milliseconds between requests
concurrencyno10Max parallel in-flight requests
max-depthno0Max crawl depth (0 = unlimited)
outputnoterminalOutput format: terminal, json, or csv

Exit codes

CodeMeaning
0All crawled pages returned non-error responses
1One or more 4xx / 5xx responses were found

The workflow step will automatically fail when the exit code is 1.

Examples

steps:
- uses: beekmanlabs/spidermedic@main
with:
url: 'https://example.com'

Capturing JSON output

output: json writes results to stdout, which GitHub Actions captures in the step log. To save it as an artifact, wrap the action in a shell step:

- name: Crawl (JSON)
run: |
docker run --rm ghcr.io/beekmanlabs/spidermedic \
--url=https://example.com \
--output=json > crawl-results.json
- uses: actions/upload-artifact@v4
with:
name: crawl-results
path: crawl-results.json