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_wrapper import GrokAPIWrapper, GrokAPIAuth

COOKIE_STRING = "[INSERT_COOKIE_STRING_HERE]"

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

Using a Cookie Dictionary:

from grok_api import GrokAPIWrapper, 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 = GrokAPIWrapper(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.2.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.2-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: grok-api-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 81df075d81bd45298d720d60ea3d4498b521ebe17df72b57fff97eda8e90ad34
MD5 8a4317d70b47ba5d2e66d11292ffa85f
BLAKE2b-256 08ceab5015fabbd42300398aa21217ec231ebbd6dc66c0b829e9b499740d7a76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: grok_api-0.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 287b0100894302907fe073e50894d80e8b5d029d33232add129b6c1edb06f70f
MD5 2451d054b350ccaca55b925b9533b5ac
BLAKE2b-256 8126342277ad5528bd9eff61074ddd181dc02634e75fd294a1732cd09c63c4d9

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