Skip to main content

Official Python SDK for Foxcite AVS and AEO Monitoring platform

Project description

Foxcite Python SDK

PyPI version License: MIT

The official Python client library for the Foxcite API. Foxcite is an Answer Engine Optimization (AEO) and AI visibility monitoring platform that helps modern agencies and brands track their presence across major LLMs (ChatGPT, Claude, Gemini, Grok, and Perplexity).

Features

  • Fully Typed: Exposes fully typed Pydantic v2 schemas for all requests and responses.
  • Sync & Async Support: Native support for both synchronous (requests) and asynchronous (httpx) execution.
  • High Concurrency Ready: Built-in connection pooling and socket management designed for high-throughput AI agent loops.

Installation

pip install foxcite-sdk

Quick Start

You can generate an API Key from your Foxcite Dashboard.

Synchronous Client

from foxcite import Foxcite

# The client uses a context manager to gracefully handle connection pools
with Foxcite(api_key="seomd_live_...") as client:
    # List brand workspaces
    brands = client.brands.list()
    print("Brands:", [b.name for b in brands])

    # Execute a quick AEO audit
    audit = client.audits.quick_audit(
        name="My Brand",
        domain="mybrand.com",
        niche="SaaS Analytics",
        query="best saas analytics tools"
    )
    print("Quick Audit Scan ID:", audit.scan_id)

Asynchronous Client

import asyncio
from foxcite import AsyncFoxcite

async def main():
    async with AsyncFoxcite(api_key="seomd_live_...") as client:
        brands = await client.brands.list()
        print("Brands:", [b.name for b in brands])

if __name__ == "__main__":
    asyncio.run(main())

Developer Notes: Connection Pooling

Under the hood, the Python SDK manages persistent TCP connections.

  • The synchronous Foxcite client utilizes a requests.Session().
  • The asynchronous AsyncFoxcite client utilizes an httpx.AsyncClient().

Always use the client within a with or async with context manager to ensure sockets are properly released, preventing file descriptor leaks during high-concurrency background tasks.

Contributing

  1. Clone the repository.
  2. Create a virtual environment: python3 -m venv .venv && source .venv/bin/activate
  3. Install dependencies: pip install -e .
  4. Run tests: pytest tests/

Resources

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

foxcite_sdk-1.0.2.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

foxcite_sdk-1.0.2-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file foxcite_sdk-1.0.2.tar.gz.

File metadata

  • Download URL: foxcite_sdk-1.0.2.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for foxcite_sdk-1.0.2.tar.gz
Algorithm Hash digest
SHA256 f4d7063ad33127d952968b8ba6a23c92ba56b89f18ce42a7ad5e933cbdc38587
MD5 73c59ea44f8450d9bb4130538ce44659
BLAKE2b-256 9cf676ac77f0e8cd5e1d0a3fdba4806deaab1291dd395422b6f96c6ac9a55757

See more details on using hashes here.

File details

Details for the file foxcite_sdk-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: foxcite_sdk-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for foxcite_sdk-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e8a35c32a01c4279647749577d9abfd6731677ef971fed1668d469f568fbd064
MD5 2f9abe46256c3f3d7ff2883c728eeedf
BLAKE2b-256 2663f02814c36df7c84868c62065b9e38c5fcbc93abf9db8c6612a5462783faa

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