Skip to main content

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)

Source distribution for sempite 0.1.0
File Size Uploaded
sempite-0.1.0.tar.gz 5.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sempite 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page