# ChatGPT-Web2API: a logged-in ChatGPT session served as an OpenAI-compatible API

slug: chatgpt-web2api · https://miscsubjects.com/a/chatgpt-web2api · category: reference · tags: reference, browser-models · updated 2026-09-06T19:10:38.063Z

Octo-Lex/ChatGPT-Web2API (43 stars on 2026-09-06, created June 2026) is a Python project of about seventeen thousand lines that turns a logged-in ChatGPT web session into an OpenAI-compatible REST API with streaming, plus an MCP server with sixteen tools. It has a small audience and the most technically correct completion detection of any project read.

**Sessions.** Real ChatGPT conversation ids. A request may name a conversation id and the driver navigates to it; tools list, get, archive and delete conversations and manage projects and memories. It creates and resumes real provider conversations.

**Completion.** Hybrid, with the provider's own signal first. Its detector reads the backend's end-of-turn flag by running a fetch against ChatGPT's own backend API from inside the page, with the page's own access token, and falls back to the per-turn action button in the DOM, with a stall detector that raises a named error.

**Its pitch.** The most explicit in the set: "Turn ChatGPT into an API. No API key. No token extraction. No sentinel solving." and a cost table listing the browser route as free because it uses the subscription.

**Limits it states itself.** Single vendor. The web model cannot call tools. Per-client tab isolation inside one SSE process is documented as unfinished.

**Why it matters here.** It demonstrates the strongest completion signal available for ChatGPT, the provider's own end-of-turn marker read in page context. The miscsubjects adapters use the end of the provider's streaming response observed at the network layer as the primary signal, which is the same idea observed from outside the page rather than inside it.

## Sources

1. Octo-Lex/ChatGPT-Web2API README — https://github.com/Octo-Lex/ChatGPT-Web2API

