# gemini-web2api-go

> Run your own OpenAI-compatible endpoint for Google's free Gemini web UI — no API key, no paid tier. Single Go binary or Docker image with dashboard, cookie/proxy pools.

- **Category:** API Gateway
- **Licence:** MIT
- **Latest version:** v4.26.0
- **Open source:** oss
- **Languages:** Go, HTML
- **Platforms:** Docker, Docker Compose, Linux, Build from Source
- **Tags:** PostgreSQL, SQLite, Mcp, MySQL, Image Generation, Gemini, Reverse Proxy, Admin Dashboard, Web Search, Golang, Self Hosted, Openai Api, Api proxy, Openai compatible, Openai compatible api, Llm gateway, Llm proxy, Tls fingerprinting, Gemini Api, Reverse Engineering, Gemini Pro, Video Generation, Cookie Pool, Proxy Pool, Chrome Fingerprint, Gemini Proxy, Gemini Web Api, Gemini Web2api, No Api Key, Free Gemini Api

## Description

gemini-web2api-go reverse-proxies the Gemini web application (gemini.google.com) into an OpenAI-compatible REST API. It requires no Google API key and works with free Gemini accounts. The project is a single Go binary (or distroless Docker image) that implements Chrome 146 TLS fingerprinting, automatic cookie renewal, a proxy pool with per-IP rate limiting, and a Chinese-language admin dashboard for monitoring and configuration. It exposes /v1/chat/completions (streaming), /v1/models, /v1/responses, and /v1/videos for async video generation. An MCP server at /mcp provides a web_search tool for Claude Desktop and Cursor. Supported models include gemini-3.6-flash, gemini-3.5-flash-lite (anonymous), and gemini-3.1-pro, gemini-3.8-flash, gemini-4-argon with thinking variants when a valid cookie is provided. Image (gemini-image), music (gemini-music), canvas (gemini-canvas), and video (gemini-video) generation are supported. Data persists in SQLite by default, with optional MySQL/PostgreSQL via SQL_DSN. Deployment options: Docker (ghcr.io/zexadev/gemini-web2api-go), Docker Compose, direct binary download, or building from source. The admin UI at /admin manages proxy/cookie pools, API keys, and runtime settings without restart. Known limits: per-IP request caps (80–180 before Google blocks), context length ~130 KB (160 KB with cookie), prompt-level function calling, and Chrome-exported cookies may expire quickly due to device-bound sessions (Firefox recommended).

## Links

- [Homepage](https://github.com/zexadev/gemini-web2api-go)
- [Docker](ghcr.io/zexadev/gemini-web2api-go)
- [GitHub Repository](https://github.com/zexadev/gemini-web2api-go)
- [Releases / Binary Downloads](https://github.com/zexadev/gemini-web2api-go/releases)
- [Community (LinuxDo)](https://linux.do)

---
Source: https://selfhost.directory/project/gemini-web2api-go