Skip to main content

chatgpt-creator

Automated ChatGPT account signup using Outlook email stock with IMAP OTP retrieval.

Installation

pip install chatgpt-creator

Or install from source:

git clone https://github.com/5enox/chatgpt-creator.git
cd chatgpt-creator
uv sync

accounts.xlsx Format

Rows starting from row 4, column A. Each cell formatted as:

email----password----client_id----refresh_token

CLI Usage

# Create 1 account (default)
chatgpt-creator

# Create multiple accounts
chatgpt-creator -n 5

# Async mode — run signups concurrently
chatgpt-creator -n 10 --async --max-concurrent 5

# Custom stock file
chatgpt-creator --stock my_emails.xlsx

# With proxy
chatgpt-creator --proxy socks5://user:pass@host:port

# Verbose / quiet logging
chatgpt-creator -n 3 -v    # debug output
chatgpt-creator -n 3 -q    # errors only

# All options
chatgpt-creator -n 3 --stock emails.xlsx --output results.json --proxy socks5://host:port --async

Library Usage

Sync

from chatgpt_signup import signup, load_email_stock

stock = load_email_stock("accounts.xlsx")

result = signup(
    email=stock[0]["email"],
    password="MyPassword123!",
    name="John Doe",
    birthday="1995-06-15",
    client_id=stock[0]["client_id"],
    refresh_token=stock[0]["refresh_token"],
    proxy="socks5://user:pass@host:port",  # optional
)

print(result["status"])        # "success" or "failed"
print(result["access_token"])  # ChatGPT access token

Async

import asyncio
from chatgpt_signup import async_signup, async_signup_batch, load_email_stock

stock = load_email_stock("accounts.xlsx")

# Single async signup
result = asyncio.run(async_signup(
    email=stock[0]["email"],
    password="MyPassword123!",
    name="John Doe",
    birthday="1995-06-15",
    client_id=stock[0]["client_id"],
    refresh_token=stock[0]["refresh_token"],
))

# Batch — sign up multiple accounts concurrently
accounts = [
    {
        "email": s["email"],
        "password": "MyPassword123!",
        "name": "John Doe",
        "birthday": "1995-06-15",
        "client_id": s["client_id"],
        "refresh_token": s["refresh_token"],
    }
    for s in stock[:5]
]
results = asyncio.run(async_signup_batch(accounts, max_concurrent=3))

Retry Decorator

from chatgpt_signup import retry, async_retry

@retry(max_attempts=3, delay=2.0, backoff=2.0, exceptions=(ConnectionError,))
def my_flaky_function():
    ...

@async_retry(max_attempts=3, delay=2.0, backoff=2.0, exceptions=(ConnectionError,))
async def my_async_flaky_function():
    ...

Logging

Uses Python's logging module under the chatgpt_signup namespace. Configure to your needs:

import logging
logging.basicConfig(level=logging.DEBUG)  # see everything
logging.basicConfig(level=logging.ERROR)  # errors only

Environment Variables

Variable Description
SIGNUP_PROXY Default proxy URL
ACCOUNTS_XLSX Default stock file path
CREATED_ACCOUNTS_FILE Default output file path

Output

Created accounts are saved to created_accounts.json with email, password, name, birthday, and access token.

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

  1. Fork the repo
  2. Create your branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m 'Add my feature')
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a Pull Request

License

MIT

Metadata

Release files for chatgpt-creator 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chatgpt-creator 0.2.0
File Size Uploaded
chatgpt_creator-0.2.0.tar.gz 30.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chatgpt-creator 0.2.0
File Interpreter ABI Platform
chatgpt_creator-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 46.9 kB

Release files / chatgpt_creator-0.2.0.tar.gz

Download URL chatgpt_creator-0.2.0.tar.gz
Size 30.4 kB
Tags Source
SHA-256 checksum
How to use checksums
cd56beac236f895909d64256e8d763a24d48b428d95392a2b78ca7c8ff439d18
BLAKE2b-256 checksum
How to use checksums
1c423fd1ec3a73852def81bb83d930ca1dfd5b641582a89ce825ee420ff12f42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.11

Release files / chatgpt_creator-0.2.0-py3-none-any.whl

Download URL chatgpt_creator-0.2.0-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe10e6dadb68098436d20593d6344eadbb9772434d8e3123ea87212a1f6cdc8f
BLAKE2b-256 checksum
How to use checksums
2b9ca0e5a145eb0153158418dd4a93c9e0a7e787660f24b9b483932966b1d136
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.11

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page