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.5.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.5-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file grok_api-0.0.5.tar.gz.

File metadata

  • Download URL: grok_api-0.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 b0e512e2fcaedf01828078664d53144fd4f04fbfa2e51894b096633ebfbd7478
MD5 b0d212a59607491c155e3ecce901b4c2
BLAKE2b-256 3931bc0733d5436eb8df5d3504fb1cc0e61f58fca762143f1438a8c2f1f82d0e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: grok_api-0.0.5-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.11.9

File hashes

Hashes for grok_api-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a260bfc247d887255ed868ceb2e988df3b1e4b6d15abd983a7c133a979932994
MD5 784196abf2acf9a28aad108d408a3123
BLAKE2b-256 a89381d5739d1c19a182cccd3157e904e61b62acabb728e5e7b86b6fa39d1c93

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