Premium CLI tool for bulk ChatGPT account creation via direct HTTP fetch (no browser needed).
Features · Installation · Usage · Structure · License
Bahasa Indonesia | English
Disclaimer: This project is created solely for educational purposes and automation research. Using this tool to violate OpenAI's Terms of Service, abuse the platform, or engage in any illegal activity is entirely the responsibility of the user. The author assumes no liability for any misuse.
- Automated ChatGPT account creation via direct HTTP fetch (no browser required)
- Much faster than browser-based approach - pure API calls
- Parallel processing with configurable worker pool (default 5 concurrent)
- Live progress bar per-account with real-time ANSI terminal display
- Dynamic email generation - domains fetched from API, accounts created on-the-fly
- Automatic OTP verification from email inbox via API polling
- Auto-resend OTP - if OTP doesn't arrive within 30s, auto-resend up to 2 times
- Multi-code OTP - stabilization logic collects all codes, tries newest first
- Realistic random names using faker.js (letters/spaces only, no symbols)
- Unique emails - LocalDB ensures no duplicate emails across sessions
- Optional email suffix - append custom text to emails (e.g.
johndoegpt@domain.xyz) - Auto-retry on failure (up to 3 attempts per account)
- Results saved to
data/accounts.jsonand auto-exported todata/result.txt - Premium terminal UI - gradient ASCII banner, live stats, colored progress bars
- Node.js v18 or newer
- GoMail API access (for email generation + OTP retrieval)
git clone https://github.com/atmosprem/gpt-account-maker.git
cd gpt-account-maker
npm installEdit config.json in the project root:
{
"password": "@Gopretstudio88",
"batchSize": 5,
"otp": {
"timeout": 90000,
"pollInterval": 4000
},
"account": {
"apiUrl": "https://mail.gopretstudio.com",
"apiKey": "GOMAIL-xxxxx"
},
"paths": {
"accounts": "./data/accounts.json",
"result": "./data/result.txt",
"emailDb": "./data/email-db.json"
}
}| Option | Description |
|---|---|
password |
Password used for all created accounts |
batchSize |
Max accounts processed in parallel |
otp.timeout |
OTP polling timeout in milliseconds |
otp.pollInterval |
Inbox polling interval in milliseconds |
account.apiUrl |
GoMail API base URL |
account.apiKey |
GoMail API key |
npm run createThe system will ask interactively:
┌─ CONFIGURATION
| ❯ How many accounts to create? 5
| ❯ Email suffix (leave empty for none): gpt
Then displays a live progress:
┌─ PROCESSING
│ ⏱ 00:34 ✓ 5 ✗ 0 ⟳ 0 [5/5]
01. ◉ johndoegpt@domain.xyz │ ━━━━━━━━━━━━━━━━━━━━━━ 100% │ Complete ✓
02. ◉ emmastonegpt@domain.xyz │ ━━━━━━━━━━━━━━━━━━━━━━ 100% │ Complete ✓
npm run exportNote: Export to
result.txtis already done automatically after everynpm run create.
gpt-account-maker/
├── index.js # CLI entry point (command router)
├── config.json # All configuration centralized
├── package.json
├── assets/
│ └── logo.png # Project logo
├── data/
│ ├── accounts.json # Account results (reset on each create)
│ ├── result.txt # Export output (reset on each create)
│ └── email-db.json # LocalDB unique emails (persistent)
└── src/
├── config.js # Config loader
├── commands/
│ ├── create.js # Account creation (worker pool + live display)
│ └── export.js # Export to result.txt
├── lib/
│ ├── http-client.js # Cookie jar & fetch wrapper (cross-domain)
│ ├── register.js # 7-step ChatGPT registration flow
│ ├── otp.js # OTP polling with stabilization
│ ├── email-gen.js # Email account generator (GoMail API)
│ └── storage.js # Read/write accounts + LocalDB email
└── ui/
├── banner.js # ASCII banner + section helpers
└── display.js # Live progress display
Each account is processed through 7 steps via direct HTTP fetch:
- CSRF Token - fetch token from
chatgpt.com/api/auth/csrf - OAuth Signin - POST to
api/auth/signin/openai→ get authorize URL - Trigger OTP - follow redirect chain → capture cookies + send OTP
- OTP Sent - registration page loaded, OTP email dispatched
- Wait OTP - poll inbox via GoMail API (auto-resend up to 2x)
- Validate OTP - try each code (newest first) until one succeeds
- Create Account - fill name + birthdate → callback → get session token
[
{
"email": "johndoegpt@domain.xyz",
"password": "@Gopretstudio88",
"fullName": "John Doe",
"birthdate": "2002-05-14",
"status": "verified",
"userId": "...",
"accessToken": "...",
"createdAt": "2026-05-18T00:00:00.000Z"
}
]johndoegpt@domain.xyz @Gopretstudio88 John Doe
emmastonegpt@domain.xyz @Gopretstudio88 Emma Stone
- No browser required — all processing via direct HTTP fetch
- On any failure, the system automatically retries (up to 3 attempts)
- OTP is automatically resent if not received within 30 seconds (max 2 resends)
data/email-db.jsonstores all previously used emails (never deleted)- Only free accounts are created — no payment or credit card information is used
- Domains are fetched dynamically from the GoMail API
- Access your email inbox at https://mail.gopretstudio.com — use this to login to your created email accounts, check inbox, or verify anything manually
Join and discuss with other users:
MIT - free to use and modify with attribution.