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
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)
To locate your cookie string using a browser, ensure you're logged in to Grok. Locate the Network tab, filter for models, refresh your page. There should be a models entry -- click on that, and scroll down until you find the Cookie Request Header (shown below):
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grok_api-0.1.0.tar.gz.
File metadata
- Download URL: grok_api-0.1.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca8a7c85d87324ebbd073fb67804d60b518c6165db55a01e3b7808ff6c878af7
|
|
| MD5 |
ff1b21627f2370f7879964c96ab8d877
|
|
| BLAKE2b-256 |
543a57e31700cbfb455d4d63812c0dc54d2e64cce50501a5d37da4daf39fb437
|
File details
Details for the file grok_api-0.1.0-py3-none-any.whl.
File metadata
- Download URL: grok_api-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcca70ebff5021d76b0b102e0bb67ae756492395557aad8cf06474848a816f00
|
|
| MD5 |
81c7671570b305a82407f349901c896f
|
|
| BLAKE2b-256 |
303c14945de6b9322f87b14a4489c4d66f050ee08a7242ff92606d6c52aceb80
|