← all repositories
snowby666/poe-api-wrapper

Poe's back door: a Python wrapper for the unofficial API

Automate chats with GPT-4, Claude, and Gemini through Poe.com without paying for official API access—though the maintainers themselves suggest you probably shouldn't.

poe-api-wrapper
Velocity · 7d
+1.1
★ / day
Trend
steady
star history

What it does This library reverse-engineers Poe.com’s private GraphQL API into a Python wrapper, letting you programmatically send messages, stream responses, manage chat threads, and even create custom bots. It includes both sync and async clients, plus an OpenAI-compatible proxy server so you can drop it into existing tooling that expects standard /v1/chat/completions endpoints.

The interesting bit The real value isn’t the wrapper—it’s the access model. Poe.com offers free tier usage of models that normally require API keys and credit cards elsewhere. The library automates cookie-based authentication (p-b and p-lat tokens) and even auto-retrieves an internal formkey to keep requests working. There’s a certain irony in building an unofficial API wrapper that eventually convinces the platform to launch an official one.

Key highlights

  • Supports 30+ models including GPT-4o, Claude 3.5 Sonnet, Gemini 1.5 Pro, and Llama variants
  • Includes OpenAI-compatible FastAPI proxy for drop-in replacement
  • Bot management features: create, edit, delete custom bots with knowledge base uploads
  • Group chat beta for multi-bot conversations
  • CLI interface included (poe -b ... -lat ...)

Caveats

  • Explicitly unmaintained: the README’s first warning recommends Poe’s official API instead
  • Authentication requires manual cookie extraction from browser devtools
  • Token limits in the docs are approximate guesses—Poe’s pre-prompt engineering is undisclosed
  • “Built-in completion” feature marked WIP

Verdict Worth a look if you’re prototyping on a budget or need to bridge existing OpenAI-client code to free tier access. Skip it for production work—the maintainers agree.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.