{"adoption": {"forks": 270, "observed_at": "2026-08-28T04:07:31.820223+00:00", "stars": 2947}, "canonical_url": "https://ross.abutalabs.com/products/rust-headless-chrome", "card": {"archived": false, "artifact_type": "library", "description": "A high-level API to control headless Chrome or Chromium over the DevTools Protocol. It is the Rust equivalent of Puppeteer, a Node library maintained by the Chrome DevTools team.", "domain": ["web-development", "developer-tools", "crawlers", "testing"], "enriched": true, "function": ["http-client", "web-scraping", "testing", "e2e-testing", "pdf", "image-processing"], "health_score": 91, "homepage": null, "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["rust-headless-chrome/rust-headless-chrome"], "name": "rust-headless-chrome/rust-headless-chrome", "platform": ["rust", "windows", "cross-platform"], "pushed_at": "2026-06-11T00:04:40+00:00", "repo": "rust-headless-chrome/rust-headless-chrome", "stars": 2947, "tags": ["headless-browser", "puppeteer", "chrome-devtools-protocol", "browser-automation", "screenshots", "pdf-generation", "automation", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["scrape javascript-rendered websites in rust", "take screenshots of web pages programmatically", "generate pdfs from web pages", "run browser-based end-to-end tests in rust", "intercept and monitor network requests in a headless browser", "automate form filling and clicking on web pages", "monitor javascript code coverage"], "what_it_is": "A Rust library providing a high-level API to control headless Chrome or Chromium via the DevTools Protocol, serving as the Rust equivalent of Puppeteer. It supports navigation, element interaction, screenshots, PDF generation, request interception, and automatic Chromium binary downloads.", "when_to_avoid": ["you need full Puppeteer feature parity or the latest CDP features", "you prefer a lighter HTTP-only scraper for static content", "your stack is Node.js or Python where mature Puppeteer/Playwright bindings exist"], "when_to_choose": ["you need Puppeteer-like browser automation in a Rust project", "you want to scrape or test sites that require a real browser engine", "you need page screenshots or print-to-PDF from Chromium"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rust-headless-chrome", "repo": "rust-headless-chrome/rust-headless-chrome", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.820223+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:32:46.930801+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "652df72bde1418e7da922547450c58e667d52c1dfcc675336d9169172a219136", "fetched_at": "2026-08-28T04:07:31.820223+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rust-headless-chrome/rust-headless-chrome"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 86, "longevity": 100, "rhythm": 63}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2906, "days_push": 84, "days_rel": 84, "gap_med": 104.0, "n_releases_24m": 7}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}