{"adoption": {"forks": 6466, "observed_at": "2026-08-28T04:12:21.538866+00:00", "stars": 75643}, "canonical_url": "https://ross.abutalabs.com/products/agent-reach", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Give your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.", "domain": ["crawlers", "developer-tools", "social-media"], "enriched": true, "function": ["web-scraping", "search-engine", "cli", "mcp", "agent-framework"], "health_score": 99, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Panniantong/Agent-Reach"], "name": "Panniantong/Agent-Reach", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-08-25T05:36:18+00:00", "repo": "Panniantong/Agent-Reach", "stars": 75643, "tags": ["twitter-scraper", "reddit-scraper", "youtube-transcripts", "bilibili", "xiaohongshu", "claude-code", "cursor", "free-api", "llm-tools", "agent-infrastructure", "ai-agents", "command-line"], "topics": ["agent-infrastructure", "ai-agent", "ai-search", "automation", "bilibili", "claude-code", "cli", "cursor", "free-api", "llm-tools", "mcp", "python", "reddit-scraper", "twitter-scraper", "web-scraper", "xiaohongshu", "youtube-transcript"], "urls": [], "use_cases": ["let my AI agent read Twitter and Reddit posts", "search the web from Claude Code without API fees", "fetch YouTube transcripts for an LLM", "add internet browsing to a Cursor agent via MCP", "scrape XiaoHongShu or Bilibili content for research", "give an AI agent real-time social media context"], "what_it_is": "Agent Reach is a Python CLI and MCP tool that gives AI agents the ability to read and search across platforms like Twitter, Reddit, YouTube, GitHub, Bilibili, and XiaoHongShu without paid API keys. It packages web scraping and search capabilities into a single installable tool for LLM agents such as Claude Code and Cursor.", "when_to_avoid": ["you need guaranteed, ToS-compliant data access with official APIs", "you require high-volume production scraping with strict reliability SLAs", "your stack is not Python or MCP-based"], "when_to_choose": ["you want your LLM agent to access social platforms without paying for official APIs", "you use Claude Code, Cursor, or another MCP-compatible agent and need web reading/search tools", "you want one CLI covering multiple platforms instead of separate scrapers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/agent-reach", "repo": "Panniantong/Agent-Reach", "role": "main", "score": 78}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "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:12:21.538866+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:12:21.538866+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:14:42.145204+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a767a33320c5363a6c3f7457baad745fb9b51ea23631f067aafedea17d7566df", "fetched_at": "2026-08-28T04:12:21.538866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Panniantong/Agent-Reach"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 13, "rhythm": 88}, "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": 191, "days_push": 8, "days_rel": 83, "gap_med": 3.0, "n_releases_24m": 7}, "score": 78, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}