Skip to main content

A simple Python wrapper for interacting with the unofficial Grok API.

Project description

🪐 Grok Unofficial API Wrapper

A simple Python wrapper for interacting with Grok's unofficial API, providing easy access to creating conversations, sending follow-up messages, and checking rate limits.

Requirements

  • Python 3.x
  • requests library

Installation

pip3 install grok-api

Authentication Setup

You can initialize authentication either through a cookie dictionary or a cookie string.

Note: The sso cookie is always required. Other cookies (x-anonuserid, x-challenge, x-signature) may also be required depending on your authentication state.

(EASIEST) Using a Cookie String:

from grok_api import GrokAPI, GrokAPIAuth

COOKIE_STRING = "[INSERT_COOKIE_STRING_HERE]"

auth = GrokAPIAuth(cookie_string=COOKIE_STRING)
api = GrokAPI(auth)

Using a Cookie Dictionary:

from grok_api import GrokAPI, GrokAPIAuth

COOKIES = {
    "sso":             "[INSERT_SSO_HERE]",
    "x-anonuserid":    "[INSERT_X_ANONUSERID_HERE]",  # not always required
    "x-challenge":     "[INSERT_X_CHALLENGE_HERE]",   # ...
    "x-signature":     "[INSERT_X_SIGNATURE_HERE]",   # not always required
}

auth = GrokAPIAuth(cookies=COOKIES)
api = GrokAPI(auth)

Creating a Conversation

Initiate a new conversation and stream response tokens:

prompt = "Explain quantum computing."

for tok in api.create_conversation(prompt):
    print(tok, end='', sep='')

Sending a Follow-up Message

Continue an existing conversation:

followup_message = "Can you simplify that explanation?"

for tok in api.send_followup(followup_message):
    print(tok, end='', sep='')

Fetching Rate Limits

Check your current API usage and limits:

import json

limits = api.fetch_rate_limits()
print(json.dumps(limits, indent=4))

SuperGrok Usage Limits

Request Type Limit
Grok 3 Base 100 messages every 2 hours
Grok 3 Thinking 30 messages every 2 hours

Important Notes

  • Replace placeholders like [INSERT_SSO_HERE] with your actual cookies.
  • Keep your cookies secure and never expose them publicly.
  • Ensure cookie strings are valid and contain all necessary authentication components.

License

This project is provided as-is without warranty. Use responsibly and adhere to Grok's Terms of Service.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grok-api-0.0.3.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grok_api-0.0.3-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file grok-api-0.0.3.tar.gz.

File metadata

  • Download URL: grok-api-0.0.3.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for grok-api-0.0.3.tar.gz
Algorithm Hash digest
SHA256 711012232d675dd45019a76e11a58798c09001dadee7fb98ce61fdf939d0e6d4
MD5 ab3aa5042c0e286d1da1ee9fcffd50b3
BLAKE2b-256 44293ae392ec94289fd24dc5debd6095457f1764c03ee91c81b60ceb39b2c03b

See more details on using hashes here.

File details

Details for the file grok_api-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: grok_api-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for grok_api-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0b54113c35f54093bf77f4b704b97a9dc59f46632adca4d8f5466ad0f16811e7
MD5 bfc7876ea339d33a92095ce3fd003bc4
BLAKE2b-256 700dedebd51e2a654be31821b2263333b2a88b9f7d28f15d11bf54eb3128dd19

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page