Unofficial API in Python
RepositoryFree[TLS-based API (Python)](https://github.com/rawandahmad698/PyChatGPT)
Capabilities12 decomposed
reverse-engineered chatgpt web interface access via tls interception
Medium confidenceImplements direct HTTP client access to ChatGPT's web interface by circumventing Cloudflare protection through TLS-based request spoofing and session management. The V1 API constructs authenticated requests that mimic browser behavior, handling cookie persistence, CSRF tokens, and Cloudflare challenge responses to maintain stateful conversations without relying on OpenAI's official API endpoints. This approach enables free access to ChatGPT models by reusing existing web session credentials.
Implements TLS-based session hijacking with Cloudflare challenge handling and browser-like request spoofing, allowing free ChatGPT access without official API keys. Uses configurable proxy servers and custom User-Agent rotation to evade detection.
Enables free ChatGPT access unlike official API, but trades reliability and legality for cost savings — best for non-production prototypes only.
official openai api wrapper with conversation state management
Medium confidenceProvides a structured Python wrapper around OpenAI's official ChatGPT API (gpt-3.5-turbo, gpt-4) with built-in conversation history management, automatic context truncation, and streaming response handling. The V3 API maintains conversation state in memory or via external storage, automatically manages token limits by truncating older messages, and abstracts away raw API request/response formatting. This enables developers to build multi-turn conversational applications without manually managing conversation context or token counting.
Wraps OpenAI's official API with automatic conversation state management and token-aware context truncation, abstracting away manual message history and token counting. Supports both synchronous and asynchronous interfaces with streaming response handling.
More reliable and production-ready than reverse-engineered V1 API, but requires paid API keys — best for applications where cost is acceptable and reliability is critical.
conversation threading and message id tracking
Medium confidenceImplements conversation threading using message IDs and parent IDs to track conversation structure and enable branching conversations. Each message has a unique ID and references a parent message ID, allowing the system to reconstruct conversation trees and support multiple conversation branches from a single parent. This enables features like conversation forking, editing previous messages, and exploring alternative conversation paths. The system tracks conversation IDs for grouping related messages.
Implements message ID and parent ID tracking to support conversation branching and threading, enabling users to explore alternative conversation paths. Unique to V1 API.
Enables advanced conversation features (branching, editing) not available in simple linear chat interfaces.
proxy and network configuration for restricted environments
Medium confidenceSupports configurable HTTP/HTTPS proxies and custom network settings for accessing ChatGPT in restricted network environments (corporate firewalls, VPNs, etc.). The system accepts proxy URLs in configuration, passes them to the underlying HTTP client (requests for sync, aiohttp for async), and handles proxy authentication. This enables the library to work in environments where direct internet access is blocked or monitored. Both V1 and V3 APIs support proxy configuration.
Supports configurable HTTP/HTTPS proxies with authentication for both sync and async HTTP clients, enabling use in restricted network environments. Configuration via YAML or environment variables.
Enables ChatGPT access in corporate/restricted networks where direct access is blocked, unlike cloud-only solutions.
dual-mode authentication with email/password and access token support
Medium confidenceImplements flexible authentication for the V1 reverse-engineered API supporting both email/password login and direct access token injection. The system handles OpenAI's authentication flow including optional captcha solving via external services (2captcha, hcaptcha), session token refresh, and credential validation. For V3, it accepts OpenAI API keys directly. This abstraction allows developers to choose authentication method based on their security posture and automation requirements.
Supports both email/password and access token authentication for V1 with integrated captcha solver support, plus API key auth for V3. Abstracts credential handling across two fundamentally different authentication paradigms (web session vs API key).
More flexible than official API (which only accepts API keys) by supporting multiple auth methods, but adds complexity and security risk compared to standard API key authentication.
plugin system for extending chatgpt capabilities
Medium confidenceImplements a plugin architecture (V1 only) that allows ChatGPT to invoke external tools and services during conversation. The system maintains a plugin registry loaded from configuration, detects when the model requests plugin execution, and routes requests to appropriate plugin handlers. Plugins can be web APIs, local functions, or external services — the framework handles serialization, error handling, and response injection back into the conversation context. This enables ChatGPT to perform actions beyond text generation (web search, calculations, database queries).
Provides a plugin registry and execution framework that detects when ChatGPT requests tool invocation and routes to external handlers, enabling agentic behavior. Unique to V1 reverse-engineered API — not available in official V3 API.
Enables tool use on V1 API before OpenAI added function calling to official API, but less reliable than modern function-calling APIs due to model training differences.
streaming response handling with real-time token delivery
Medium confidenceImplements streaming response processing for both V1 and V3 APIs, delivering model output tokens in real-time as they are generated rather than waiting for complete response. The system parses server-sent events (SSE) or chunked HTTP responses, extracts individual tokens, and yields them to the caller. This enables responsive user interfaces with progressive text rendering, reduced perceived latency, and better user experience in web/mobile applications. Supports both synchronous iteration and asynchronous streaming.
Implements streaming for both reverse-engineered V1 API and official V3 API with unified interface, handling SSE parsing and token extraction. Supports both sync and async iteration patterns.
Provides streaming across both API versions with consistent interface, whereas most libraries only support streaming for official APIs.
asynchronous api with asyncio support for concurrent operations
Medium confidenceProvides fully asynchronous Python interfaces (using asyncio) for both V1 and V3 APIs, enabling concurrent ChatGPT requests without blocking. The implementation uses async/await patterns, aiohttp for HTTP requests, and async generators for streaming responses. This allows developers to build high-concurrency applications that can handle multiple conversations simultaneously without thread overhead. Both APIs expose async variants of all core methods.
Provides complete async/await interfaces for both V1 and V3 APIs with aiohttp-based HTTP client, enabling true concurrent ChatGPT access without threading. Async generators support streaming in async contexts.
Enables high-concurrency applications better than synchronous-only libraries, but requires async framework integration and asyncio expertise.
conversation history management with automatic context truncation
Medium confidenceImplements conversation state tracking and automatic context management for multi-turn interactions. The system maintains message history (user and assistant messages), tracks token counts per message, and automatically truncates older messages when approaching token limits. This prevents exceeding model context windows while preserving recent conversation context. Supports both in-memory storage and external persistence hooks. The V3 API includes token counting logic to estimate message costs before sending to OpenAI.
Implements automatic token-aware context truncation that estimates message costs and removes older messages to stay within budget, with hooks for external persistence. Unique to V3 API wrapper.
Automates token management that developers would otherwise handle manually, reducing errors and simplifying multi-turn application development.
command-line interface for interactive chatgpt conversations
Medium confidenceProvides a full-featured CLI application (via __main__.py) for interactive ChatGPT conversations with configuration file support, command history, and model selection. Users can start conversations, switch models, manage conversation history, and configure authentication through command-line arguments or YAML config files. The CLI supports both V1 and V3 APIs, streaming output, and readline-based input with history. This enables non-programmers and developers to interact with ChatGPT without writing code.
Provides unified CLI for both V1 and V3 APIs with YAML configuration, readline history, and streaming output support. Enables non-programmers to use ChatGPT from terminal.
More feature-rich CLI than basic curl/wget approaches, with configuration management and streaming support built-in.
configuration management via yaml files and environment variables
Medium confidenceImplements flexible configuration system supporting YAML config files and environment variables for API credentials, model selection, proxy settings, and behavior tuning. The system loads configuration hierarchically (defaults → config file → environment variables), allowing developers to manage different configurations for dev/staging/production without code changes. Supports per-API-version configuration with validation and sensible defaults. This enables secure credential management and environment-specific behavior.
Implements hierarchical configuration loading (defaults → YAML file → environment variables) with per-API-version settings, enabling environment-specific behavior without code changes.
More flexible than hardcoded configuration, but less secure than dedicated secret management systems (AWS Secrets Manager, HashiCorp Vault).
error handling and exception typing for api failures
Medium confidenceDefines custom exception types (in typings.py) for different failure modes (authentication errors, rate limits, network errors, API errors) and implements error handling throughout both V1 and V3 APIs. The system catches low-level HTTP errors, parses API error responses, and raises typed exceptions that developers can catch and handle specifically. This enables graceful error handling, retry logic, and user-friendly error messages. Supports both synchronous and asynchronous error propagation.
Defines custom exception hierarchy for different failure modes (authentication, rate limiting, network, API errors) with typed exceptions that can be caught specifically. Supports both sync and async error propagation.
More granular error handling than generic exceptions, enabling specific retry strategies per error type.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with Unofficial API in Python, ranked by overlap. Discovered automatically through the match graph.
Unofficial API in JS/TS
[Unofficial API in Dart](https://github.com/MisterJimson/chatgpt_api_dart)
ShareGPT
Share your ChatGPT conversations and explore conversations shared by others.
Chatbot UI
An open source ChatGPT UI. [Source...
Voice-based chatGPT
[Explain your runtime errors with ChatGPT](https://github.com/shobrook/stackexplain)
Yack
Access ChatGPT from your MacOS menu bar; private,...
Go Telegram bot
[Twitter Bot](https://github.com/transitive-bullshit/chatgpt-twitter-bot) powered by ChatGPT
Best For
- ✓Developers building proof-of-concepts or MVPs without budget for API costs
- ✓Teams in regions with limited OpenAI API access
- ✓Hobbyists and open-source projects requiring free LLM access
- ✓Production applications requiring reliability and official support
- ✓Teams with OpenAI API budget and compliance requirements
- ✓Developers building customer-facing chatbots with SLA guarantees
- ✓Advanced chat applications with conversation branching
- ✓Applications requiring conversation editing/regeneration
Known Limitations
- ⚠Violates OpenAI's Terms of Service — accounts can be banned without warning
- ⚠Fragile to ChatGPT UI changes — requires constant maintenance as OpenAI updates endpoints
- ⚠Cloudflare protection circumvention may fail intermittently, requiring manual captcha solving
- ⚠No official support or SLA — breaking changes can occur at any time
- ⚠Slower than official API due to browser-like overhead and potential rate limiting
- ⚠Requires paid OpenAI API subscription — no free tier for production use
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
About
[TLS-based API (Python)](https://github.com/rawandahmad698/PyChatGPT)
Categories
Alternatives to Unofficial API in Python
Are you the builder of Unofficial API in Python?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →