{"adoption": {"forks": 3, "observed_at": "2026-08-28T04:05:13.883319+00:00", "stars": 1629}, "canonical_url": "https://ross.abutalabs.com/products/scrape-google-python", "card": {"archived": false, "artifact_type": "learning-resource", "description": "In this tutorial, we showcase how to scrape public Google data with Python and Oxylabs API.", "domain": ["crawlers", "developer-tools", "tutorials"], "enriched": true, "function": ["web-scraping", "http-client", "etl"], "health_score": 73, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "active", "member_repos": ["oxylabs/scrape-google-python"], "name": "oxylabs/scrape-google-python", "platform": ["python", "cross-platform"], "pushed_at": "2026-06-19T07:25:08+00:00", "repo": "oxylabs/scrape-google-python", "stars": 1629, "tags": ["google-serp", "scraper-api", "tutorial", "requests", "paid-service", "search"], "topics": ["google", "python", "scrape", "scrape-google", "scraper-api", "scraping", "scraping-api", "web-scraping", "python-scraping", "python-web-scraper"], "urls": [], "use_cases": ["scrape google search results with python", "extract SERP data to CSV", "learn how to parse google search pages", "get organic results and featured snippets programmatically", "monitor google search rankings", "customize location and number of google results"], "what_it_is": "A Python tutorial repository from Oxylabs demonstrating how to scrape Google search results (SERPs) using Oxylabs' SERP Scraper API. It includes example code for sending requests, customizing query parameters, and exporting results to CSV.", "when_to_avoid": ["you want a free, self-hosted scraping solution without a paid API subscription", "you need a production library rather than tutorial code", "you want to scrape sources other than Google SERPs"], "when_to_choose": ["you already have or plan to get an Oxylabs SERP API subscription or trial", "you want a maintained vendor example for scraping Google at scale", "you need a quick starting script for Google SERP data extraction"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/scrape-google-python", "repo": "oxylabs/scrape-google-python", "role": "main", "score": 63}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "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:05:13.883319+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.883319+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:48:17.821590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75edf0166f98507149f50f4239735b1cec50a866104088fbf119cac2fbcaa996", "fetched_at": "2026-08-28T04:05:13.883319+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oxylabs/scrape-google-python"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 88, "longevity": 54, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+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": 764, "days_push": 75, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 63, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}