{"adoption": {"forks": 3, "observed_at": "2026-08-28T04:03:24.142670+00:00", "stars": 1055}, "canonical_url": "https://ross.abutalabs.com/products/ai-scraper-py", "card": {"archived": false, "artifact_type": "library", "description": "AI Scraper is a powerful scraping tool and scrape agent built to automate data extraction with unmatched precision. Ideal for scalable AI scraping tasks across diverse web sources, this tool simplifies complex scraping operations into efficient, intelligent workflows.", "domain": ["crawlers", "artificial-intelligence", "developer-tools"], "enriched": true, "function": ["web-scraping", "nlp", "llm-inference", "sdk", "parser", "data-science"], "health_score": 65, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "experimental", "member_repos": ["oxylabs/ai-scraper-py"], "name": "oxylabs/ai-scraper-py", "platform": ["python", "cli", "cloud"], "pushed_at": "2026-04-02T09:48:04+00:00", "repo": "oxylabs/ai-scraper-py", "stars": 1055, "tags": ["ai-scraper", "web-scraping", "scrape-agent", "natural-language-extraction", "schema-generation", "oxylabs", "firecrawl-alternative", "tavily-alternative", "markdown-output", "-output", "data-engineering", "automation"], "topics": ["ai-agent", "ai-scraper", "ai-scraping", "ai-studio", "open-source-ai", "scraper-api", "scraper-api-github", "web-scraper", "firecrawl-alternative", "ai-grounding", "ai-training", "search-api", "tavily-alternative", "web-search-api", "ai-search"], "urls": [], "use_cases": ["extract product names and prices from e-commerce pages with a plain English prompt", "scrape a webpage into markdown for AI/LLM workflows", "generate a JSON schema automatically from a natural language description of the data I want", "parse news articles or blog content without writing custom parsers", "integrate AI-powered web extraction into automation pipelines", "get structured JSON from any public webpage for APIs"], "what_it_is": "AI-Scraper is a Python library and scrape agent from Oxylabs AI Studio that extracts data from webpages using natural language prompts instead of CSS/XPath selectors. It returns structured JSON or Markdown, with automatic schema generation from prompts or user-defined OpenAPI schemas.", "when_to_avoid": ["you need fully self-hosted scraping with no external API dependency", "you require bulk crawling of many pages rather than single-page extraction", "you cannot rely on a paid third-party service (API key and credits required)", "you need a battle-tested, long-term-stable library with a clear license"], "when_to_choose": ["you want to extract data from a single webpage without maintaining CSS/XPath selectors", "you prefer describing extraction targets in natural language", "you need both JSON and Markdown output formats for AI pipelines", "you already have or plan to get an Oxylabs AI Studio API key"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ai-scraper-py", "repo": "oxylabs/ai-scraper-py", "role": "main", "score": 51}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "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:24.142670+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.142670+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:58:40.101844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4ee8872063340f89884ae3e745ded07acd0f970ed1d9e68b609f118e262d37f", "fetched_at": "2026-08-28T04:03:24.142670+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/ai-scraper-py"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 75, "longevity": 24, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 342, "days_push": 153, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 51, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}