{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"slug":"chatgpt-web2api","title":"ChatGPT-Web2API: a logged-in ChatGPT session served as an OpenAI-compatible API","body":"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.\n\n**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.\n\n**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.\n\n**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.\n\n**Limits it states itself.** Single vendor. The web model cannot call tools. Per-client tab isolation inside one SSE process is documented as unfinished.\n\n**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.","register":"reference","hero":null,"hero_brief":"","editorial_review":null,"tags":["reference","browser-models"],"category":"reference","style":{},"claims":[{"id":"c1","text":"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 technic","section":"ChatGPT-Web2API: a logged-in ChatGPT session served as an OpenAI-compatible API","tier":"definition","source_ids":["s1"],"why_material":"identifies the system and what it is"},{"id":"c2","text":"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 outs","section":"Why it matters here","tier":"observational","source_ids":["s1"],"why_material":"states the relation to the build being compared"},{"id":"c3","text":"Turn ChatGPT into an API. No API key. No token extraction. No sentinel solving.","section":"ChatGPT-Web2API: a logged-in ChatGPT session served as an OpenAI-compatible API","tier":"definition","source_ids":["s1"],"why_material":"the source in its own words"}],"sources":[{"id":"s1","url":"https://github.com/Octo-Lex/ChatGPT-Web2API","title":"Octo-Lex/ChatGPT-Web2API README","quote":"Turn ChatGPT into an API. No API key. No token extraction. No sentinel solving."}],"prov":{"model":"unattributed","action":"write"}}