causabi-geo / MIT / PyPI
Audit any sitefor AI visibility. One command.
See what ChatGPT can and can't read on a site — then get the files to fix it. CLI or REST API. MIT.
GitHub
pip install causabi-geo
MIT
license
PyPI
causabi-geo
REST
API
Quick start
From install to results
in 60 seconds
$ pip install causabi-geo $ causabi-geo analyze example.com AI Readiness Score: 34/100 (Grade: D) Issues found: [FAIL] robots.txt blocks GPTBot, ClaudeBot [FAIL] No FAQ schema (-20 pts) [FAIL] No llms.txt [OK] Schema.org present (partial) $ causabi-geo fix example.com --output ./geo-files/ Generated: ./geo-files/llms.txt ./geo-files/schema.jsonld ./geo-files/robots.txt.patch ./geo-files/faq-block.html
Modules
Open architecture,
each module is standalone
core/scorer.py
Scorer
AI readiness score 0-100 across 6 dimensions. Pure logic, no LLM, <1s.
robots.txtSchema.orgFAQContentBrandFreshness
~180 lines
core/robots.py
Robots Auditor
Check which of 10+ AI crawlers your robots.txt allows or blocks. Generate a patched version.
GPTBotClaudeBotPerplexityBotApplebot
~80 lines
fix/schema.py
Schema Generator
Generate Organization, LocalBusiness, SoftwareApplication JSON-LD from crawled page data.
OrganizationLocalBusinessSoftwareApplicationWebSite
~120 lines
fix/faq.py
FAQ Generator
Build FAQPage JSON-LD. With --api-key uses Gemini to generate Q&A from your actual content.
FAQPageGemini AI8-12 Q&A pairs
~90 lines
fix/llms_txt.py
llms.txt Generator
Create llms.txt — a supplementary index for AI agents. Little to no effect on citations; generated as hygiene, not the main lever.
llmstxt.orgMarkdownAI agents
~70 lines
monitor/
Monitor
Track brand mentions across ChatGPT, Gemini, Grok, Claude. Returns mentioned: bool, position, snippet.
ChatGPTGeminiGrokClaude
~200 lines
REST API
Integrate into your stack
or use the CLI
# Public score (no auth) GET /api/score/{domain} # response: { "score": 67, "grade": "B", "breakdown": { "schema_org": 18, "faq_schema": 12, "robots_txt": 15 } }
# Full analysis (auth required) POST /api/v1/analyze { "url": "https://example.com" } # response: { "site_id": "abc123", "status": "queued", "job_id": "job_xyz" } # Rate limit: 30/hour (public) # Docs: ai.causabi.com/docs
FAQ
Technical questions
git clone -> pip install -e . -> run locally. API keys needed for monitoring. CLI commands analyze and fix work without an account.