{"adoption": {"forks": 639, "observed_at": "2026-08-28T04:07:27.561906+00:00", "stars": 2880}, "canonical_url": "https://ross.abutalabs.com/products/gemini-web2api", "card": {"archived": false, "artifact_type": "service", "description": "Convert Google Gemini web into OpenAI-compatible API. Zero auth, cross-platform, single file.", "domain": ["large-language-models", "apis", "self-hosted", "developer-tools", "artificial-intelligence"], "enriched": true, "function": ["llm-inference", "http-server", "api-framework", "chatbot", "web-scraping"], "health_score": 79, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Sophomoresty/gemini-web2api"], "name": "Sophomoresty/gemini-web2api", "platform": ["python", "cross-platform", "self-hosted", "cli"], "pushed_at": "2026-08-14T18:29:19+00:00", "repo": "Sophomoresty/gemini-web2api", "stars": 2880, "tags": ["openai-compatible-api", "gemini", "reverse-proxy", "api-wrapper", "single-file", "free-tier", "streaming", "tool-calling"], "topics": [], "urls": [], "use_cases": ["use Gemini models through OpenAI-compatible clients like Cherry Studio or ChatBox", "run a free local LLM API endpoint without paying for Gemini API keys", "connect OpenAI Codex CLI or Gemini CLI to Gemini web models", "get streaming chat completions with tool calling from Gemini web", "adjust thinking depth for extended reasoning outputs", "self-host a drop-in replacement for /v1/chat/completions"], "what_it_is": "A single-file Python server that exposes Google Gemini's web interface as an OpenAI-compatible API, supporting chat completions, streaming, tool calling, and Gemini-native endpoints. It requires no official API key and runs cross-platform with only httpx as an optional dependency.", "when_to_avoid": ["you need guaranteed uptime or SLA-backed official API access", "you require features not available through the Gemini web interface", "your usage may violate Google's web terms of service or risk account restrictions", "you need production-grade authentication beyond simple bearer keys"], "when_to_choose": ["you want OpenAI-format access to Gemini web without an API key or cost", "you need a lightweight, single-file, cross-platform proxy server", "you use clients or CLIs that speak the OpenAI or Gemini native API formats", "you want built-in web search and adjustable thinking depth"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gemini-web2api", "repo": "Sophomoresty/gemini-web2api", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "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:07:27.561906+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.561906+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:35:33.000615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ae4a7f3359310916aeb843cefafd173c33868710f394a203eab1583de242b5", "fetched_at": "2026-08-28T04:07:27.561906+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sophomoresty/gemini-web2api"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 6, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 97, "days_push": 19, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}