Skip to main content

404 Finder

A Python tool to crawl websites and find broken links (404s) and oversized pages.

Install the CLI

pip install find_404

Usage

find_404 example.com [options]

Options

  • --max-size BYTES: Maximum allowed size in bytes for any page
  • --workers N: Number of parallel workers (default: 10)
  • --max-depth N: Maximum depth to crawl (default: no limit)
  • --verbose: Enable verbose logging
  • --version: Show the version number

Example

# Check for broken links on example.com
find_404 example.com

# Check for broken links and pages larger than 1MB
find_404 example.com --max-size 1000000

# Crawl with 20 parallel workers and verbose logging
find_404 example.com --workers 20 --verbose

Use in Github Actions

name: Check Website Links

on:
  workflow_dispatch: # Manual trigger
  schedule:
    # Every Sunday at midnight
    - cron: '0 0 * * 0'

jobs:
  check-links:
    uses: singiamtel/find_404/.github/workflows/check-links.yml@main
    with:
      url: 'https://example.com'
      max_size: 5000000  # Optional: 5MB limit
      # workers: 12        # Optional: 12 parallel workers
      # max_depth: 5       # Optional: Crawl up to a maximum depth of 5 (only in the original domain, others always have depth 1)
      # verbose: true      # Optional: Enable verbose logging

Output

The tool generates a JSONL file named result_domain.jsonl containing details about each URL visited, including:

  • URL
  • Status code
  • Page size
  • Referrer (the page that linked to this URL)

Features

  • Parallel crawling with configurable number of workers
  • Finds broken links (HTTP status codes 4xx and 5xx)
  • Checks page sizes against a configurable limit
  • Follows redirects while staying within the same domain
  • Handles both internal and external links
  • Generates detailed JSONL reports

Metadata

Release files for find-404 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for find-404 1.3.0
File Size Uploaded Provenance
find_404-1.3.0.tar.gz 21.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for find-404 1.3.0
File Interpreter ABI Platform
find_404-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.1 kB

Release files / find_404-1.3.0.tar.gz

Download URL find_404-1.3.0.tar.gz
Size 21.8 kB
Tags Source
SHA-256 checksum
How to use checksums
df776128821e134a71bbf2a2c873f7ad01f8b4085ff3ebc1763abd0d00a20479
BLAKE2b-256 checksum
How to use checksums
97a41f267ab262eac58cfb3b6bbf3627fffb01bad7d143636bc877e810c82609
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 30, 2025.

Transparency log

Release files / find_404-1.3.0-py3-none-any.whl

Download URL find_404-1.3.0-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
649707f45b93a8ced63144f7d98e9bc74972429aa83fbfd1f958eb8c0eec8d63
BLAKE2b-256 checksum
How to use checksums
a5b501d0fc5cb0fad6a4ad5ba14860b5e1dfa1ef5ca7e55c954d6eb36c491024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 30, 2025.

Transparency log

Security for find-404 1.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for find_404-1.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 30, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page