{"adoption": {"forks": 1341, "observed_at": "2026-08-28T04:10:59.846327+00:00", "stars": 12808}, "canonical_url": "https://ross.abutalabs.com/products/undetected-chromedriver", "card": {"archived": false, "artifact_type": "library", "description": "Custom Selenium Chromedriver | Zero-Config | Passes ALL bot mitigation systems (like Distil / Imperva/ Datadadome / CloudFlare IUAM)", "domain": ["web-development", "crawlers", "developer-tools", "security"], "enriched": true, "function": ["web-scraping", "http-client", "testing", "workflow-automation"], "health_score": 38, "homepage": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver", "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["ultrafunkamsterdam/undetected-chromedriver"], "name": "ultrafunkamsterdam/undetected-chromedriver", "platform": ["python", "cross-platform"], "pushed_at": "2025-07-05T10:42:02+00:00", "repo": "ultrafunkamsterdam/undetected-chromedriver", "stars": 12808, "tags": ["selenium", "chromedriver", "anti-bot-bypass", "browser-automation", "cloudflare-bypass", "stealth-browsing", "desktop"], "topics": ["chromedriver", "selenium", "webdriver", "chrome", "anti-detection", "anti-bot", "distil", "browser", "automation", "scraping", "python3", "captcha", "navigator", "testing", "cloudflare", "cloudflare-bypass", "bot-detection"], "urls": [], "use_cases": ["scrape websites protected by cloudflare", "automate browser tasks without getting blocked by bot detection", "pass datadome or imperva bot checks in selenium", "log into sites with hcaptcha using python automation", "run headless chrome that doesn't trigger anti-bot services", "web scraping with python and selenium stealth"], "what_it_is": "A Python library that patches Selenium's ChromeDriver binary so automated Chrome sessions avoid detection by anti-bot systems like Cloudflare, Imperva, DataDome, and Distil. It automatically downloads and patches the driver and works as a drop-in replacement for webdriver.Chrome, including support for Chromium-based browsers like Brave.", "when_to_avoid": ["You need IP anonymity - this does not hide your IP and datacenter IPs will often be blocked", "You need a guaranteed bypass - results vary and no guarantees are given", "You're doing simple scraping of sites without bot protection - plain requests or Selenium is simpler"], "when_to_choose": ["You need Selenium-based browser automation that evades common bot mitigation systems", "You want a zero-config drop-in replacement for webdriver.Chrome", "You're scraping Chromium-based sites from a residential IP and need stealth"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/undetected-chromedriver", "repo": "ultrafunkamsterdam/undetected-chromedriver", "role": "main", "score": 46}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "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:10:59.846327+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.846327+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.430202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdcbce68a11fd62273e699611f0fd8b51e0e47c9e5797d92c649972cec551cc8", "fetched_at": "2026-08-28T04:10:59.846327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver"}, {"content_hash": "71bd8c898cf2793cb939212cbb3292d897b2decb0251273fe8f6707c4fb70aca", "fetched_at": "2026-08-29T08:09:52.430838+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/UltrafunkAmsterdam/undetected-chromedriver"}, {"content_hash": "b06e26267e4aee4bf68d4d722afb970d4abcd4a1bf8eeaacaa2185a5c9b5e6ea", "fetched_at": "2026-08-29T08:09:52.433861+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/undetected-chromedriver/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 30, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2446, "days_push": 424, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 46, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}