sempite-python
Python client for the SEMPITE AI Search Visibility API — check whether AI engines (ChatGPT, Google AI, Perplexity, Gemini, Claude) know your brand, and whether they cite your website.
Zero dependencies (standard library only). Python 3.8+.
Install
pip install sempite
Or just copy src/sempite/__init__.py into your project — it's one file.
Get a key
Free plan — 10 checks/month, no card:
from sempite import SempiteClient
SempiteClient.request_free_key("you@company.com") # key arrives by email
or sign up at sempite.com/ai-search-visibility-api.
Quickstart
from sempite import SempiteClient
client = SempiteClient("sk_live_...") # or set the SEMPITE_API_KEY env var
result = client.check("Acme Coffee Roasters", domain="acmecoffee.com")
print(result["visibility_score"]) # 0-100, share of engines that know the brand
for engine, r in result["engines"].items():
print(f"{engine}: present={r.get('present')} cites_site={r.get('cites_site')}")
# r["snippet"] holds the first 400 chars of the engine's actual answer
Custom prompt, market, engine subset
result = client.check(
"Acme Coffee Roasters",
domain="acmecoffee.com",
market="uk", # us (default), es, mx, uk
prompt="Best specialty coffee roasters in London?",
engines=["chatgpt", "perplexity"], # default: every engine your plan includes
)
Usage / quota
print(client.usage())
# {'plan': 'starter', 'month': '2026-07', 'checks_used': 12,
# 'checks_quota': 250, 'checks_remaining': 238}
Engines & plans
| Engine | Key | Free | Starter / Pro |
|---|---|---|---|
| Google AI Mode | google_ai |
✅ | ✅ |
| ChatGPT | chatgpt |
✅ | ✅ |
| Perplexity | perplexity |
— | ✅ |
| Gemini | gemini |
— | ✅ |
| Claude | claude |
— | ✅ |
Free = 10 checks/month · Starter ($29/mo) = 250 · Pro ($99/mo) = 1,000. Rate limit: 10 requests/minute per key.
Errors
from sempite import SempiteClient, AuthError, QuotaError, RateLimitError, SempiteError
try:
result = client.check("Acme")
except QuotaError as e: # 402 — quota reached or engine needs a paid plan
print(e, "→", e.upgrade_url)
except RateLimitError: # 429 — slow down (10 req/min)
...
except AuthError: # 401 — bad or revoked key
...
except SempiteError as e: # anything else; e.status, e.payload
...
Response shape
{
"brand": "Acme Coffee Roasters",
"domain": "acmecoffee.com",
"market": "us",
"prompt": "Who is Acme Coffee Roasters?",
"engines": {
"google_ai": {"present": true, "cites_site": true, "snippet": "Acme Coffee Roasters is..."},
"chatgpt": {"present": true, "cites_site": false, "snippet": "..."}
},
"visibility_score": 100,
"checks_used": 3,
"checks_quota": 10,
"plan": "free",
"checked_at": "2026-07-19T15:04:05Z"
}
visibility_score = share of successfully-queried engines that recognized the brand (name present, no refusal). cites_site = the engine's answer mentioned your domain.
Links
API docs · Pricing · Free visibility check (no key) · AI Visibility Index — monthly research · SEMPITE
License
MIT
Metadata
Release files for sempite 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sempite-0.1.0.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sempite-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.0 kB
Release files / sempite-0.1.0.tar.gz
| Download URL | sempite-0.1.0.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6f25343f24ddc44ce2f11db3ceb9e9764e8ade7d3d10c1a709da6465fff19920
|
|
BLAKE2b-256 checksum How to use checksums |
c5e63bfe6d1705606c21f8e6c2cd020fd891498e5e5eaf7040ba56f22f9cdbcd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 19, 2026.
Transparency logRelease files / sempite-0.1.0-py3-none-any.whl
| Download URL | sempite-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a1dba8df75d7ad3ffc2c745b81b46c0bd8be5baa619bfcff68989a9bd18c883
|
|
BLAKE2b-256 checksum How to use checksums |
052de5b14193686331b2670e75e9e12b21fe086cc62f70dc38438830794825fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 19, 2026.
Transparency log