MCPcopy Index your code
hub / github.com/abacaj/unofficial-chatgpt-api

github.com/abacaj/unofficial-chatgpt-api @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
20 symbols 39 edges 3 files 3 documented · 15% updated 22mo ago★ 753 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

unofficial-chatgpt-api

version downloads MIT License

Getting Started

NOTICE

This library may or may not still work, ChatGPT has antibot measures in place and managing the session requires browsers.

Installation

To use ChatGPT in your application, run:

npm i unofficial-chatgpt-api
# or `yarn add unofficial-chatgpt-api`
# or `pnpm i unofficial-chatgpt-api`

Configuration

// dual token
const { ChatGPTClient } = require('unofficial-chatgpt-api');
const gpt = new ChatGPTClient({
  clearanceToken: '<--BOT_CLEARANCE_TOKEN-->',
  sessionToken0: '<--SESSION_TOKEN_0-->',
  sessionToken1: '<--SESSION_TOKEN_1-->',
});
// single token
const { ChatGPTClient } = require('unofficial-chatgpt-api');
const gpt = new ChatGPTClient({
  clearanceToken: '<--BOT_CLEARANCE_TOKEN-->',
  sessionToken0: '<--SESSION_TOKEN-->',
});

Auto-refresh

Library manages auto-refreshing tokens.

Dual tokens

Some accounts require dual tokens:

  1. Visit: https://chat.openai.com/chat
  2. Open devtools in chrome: visit the application tab
  3. Click on cookies in the left under storage, click on the chat.openai.com domain
  4. Copy the value of the first cookie and paste it in the client (Name: __Secure-next-auth.session-token.0)
  5. Copy the value of the second cookie and paste it in the client (Name: __Secure-next-auth.session-token.1)

Single token

Some accounts require single token:

  1. Visit: https://chat.openai.com/chat
  2. Open devtools in chrome: visit the application tab
  3. Click on cookies in the left under storage, click on the chat.openai.com domain
  4. Copy the value of the first cookie and paste it in the client (Name: __Secure-next-auth.session-token)

Chatting

const convo = await gpt.startConversation();
const m1 = await convo.chat('show me some javascript code:');

const m2 = await convo.chat('who created you?');
console.log(m2.message.content.parts);

Multiple conversations

const convo1 = await gpt.startConversation();
const convo2 = await gpt.startConversation();

const m1 = await convo1.chat('show me some javascript code:');
const m2 = await convo2.chat('who created you?');
console.log(m2.message.content.parts);

Reset conversation (thread)

convo.reset();

Core symbols most depended-on inside this repo

getSetCookieValue
called by 3
src/ChatGPTClient.ts
chat
called by 3
src/ChatGPTClient.ts
#refreshBearerToken
called by 3
src/ChatGPTClient.ts
get
called by 2
src/ChatGPTClient.ts
#parseCookie
called by 2
src/ChatGPTClient.ts
main
called by 1
example.js
post
called by 1
src/ChatGPTClient.ts
reset
called by 1
src/ChatGPTClient.ts

Shape

Method 12
Class 4
Function 4

Languages

TypeScript100%

Modules by API surface

src/ChatGPTClient.ts19 symbols
example.js1 symbols

For agents

$ claude mcp add unofficial-chatgpt-api \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page