{"adoption": {"forks": 93, "observed_at": "2026-08-28T04:03:39.300432+00:00", "stars": 1119}, "canonical_url": "https://ross.abutalabs.com/products/medialab-artoo", "card": {"archived": false, "artifact_type": "library", "description": "artoo.js - the client-side scraping companion.", "domain": ["crawlers", "web-development", "data-science", "developer-tools"], "enriched": true, "function": ["web-scraping", "parser", "data-science"], "health_score": 20, "homepage": "http://medialab.github.io/artoo/", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["medialab/artoo"], "name": "medialab/artoo", "platform": ["browser", "browser-extension"], "pushed_at": "2021-03-31T15:31:10+00:00", "repo": "medialab/artoo", "stars": 1119, "tags": ["bookmarklet", "client-side-scraping", "browser-console", "data-extraction", "spidering", "javascript"], "topics": ["scraping"], "urls": [], "use_cases": ["scrape data from a webpage directly in the browser console", "extract structured data from HTML tables and lists", "download scraped data as JSON from the browser", "crawl pages via ajax and accumulate results", "expand lazy-loaded page content before scraping", "scrape websites that block server-side crawlers"], "what_it_is": "artoo.js is a JavaScript library injected into a webpage's context (typically via a bookmarklet) that provides client-side web scraping utilities. It offers declarative scraping, data download helpers, ajax-based spiders, content auto-expansion, and localStorage persistence directly from the browser console.", "when_to_avoid": ["you need large-scale or scheduled scraping jobs", "the site enforces strict Content Security Policy you cannot bypass", "you need headless browser automation in CI pipelines", "the project needs long-term support, as releases have stalled since 2021"], "when_to_choose": ["you want to scrape a page interactively without writing a server-side crawler", "the target site requires an authenticated browser session", "you need quick one-off data extraction with JSON download", "you prefer a bookmarklet over installing scraping toolchains"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/medialab-artoo", "repo": "medialab/artoo", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "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:03:39.300432+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.300432+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:41:25.185489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f34fea5b6a395154253a4d12610348c24ea18699501682ef2c97ce5d404cbc5f", "fetched_at": "2026-08-28T04:03:39.300432+00:00", "kind": "readme", "missing": false, "url": "https://github.com/medialab/artoo"}, {"content_hash": "ed832db373579ca10412e72a4ff904e611206de9e03cc99d421ba79f59086be3", "fetched_at": "2026-08-29T12:45:09.515606+00:00", "kind": "homepage", "missing": false, "url": "http://medialab.github.io/artoo/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4520, "days_push": 1981, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}