AI Search Reporting API for Agencies

Report AI visibility for every client from one account: a sub-account per client with its own keys and limits, batch submission, webhooks and hourly or daily exports to your warehouse.

  • 10,000tasks in one batch
  • 1 billacross every client sub-account
  • Hourlyor daily exports to S3, GCS and BigQuery

Who it's for

GEO and SEO agencies

Report AI visibility for every client from the same prompts, engines and markets, month after month.

Digital marketing agencies

Add AI answer tracking to the reports you already send, with the answers and sources behind every number.

Platforms and resellers

Run querying.ai inside your own product, give each customer its own keys and limits, and bill from one usage report.

  1. 01

    Give each client a sub-account

    A sub-account has its own API keys, credit and concurrency limits, tasks and monitors, and sees only its own results. Its credits come from your balance.

  2. 02

    Submit at scale

    Send up to 500 tasks in one request, or up to 10,000 as one batch, mixing engines and countries freely.

  3. 03

    Receive results where you work

    Finished tasks arrive on your webhook, retried with backoff, or land every hour or day as JSON Lines files in S3, Google Cloud Storage or BigQuery.

  4. 04

    Report per client

    Monitors score each client's brand against its competitors, and the usage endpoints show what each sub-account used.

Start from one request

Send it with your API key. The reference lists every field.

Read the docs ↗
POST/v1/sub-accounts
curl -X POST https://api.querying.ai/v1/sub-accounts \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme",
    "externalId": "cust_acme",
    "monthlyCreditLimit": 200000,
    "concurrencyLimit": 50
  }'

Products it runs on

Frequently asked questions

How are sub-accounts billed?

Their tasks are charged to your balance, so you get one bill. The usage endpoints report what each sub-account used, and an optional monthly credit limit caps each one.

How many tasks can I submit at once?

Up to 500 tasks in one request with POST /v1/async/task/batch, or up to 10,000 as one batch with POST /v1/batches.

How do results reach our systems?

On your webhook, retried with exponential backoff for up to five attempts; by polling within 24 hours of completion; or as hourly or daily JSON Lines files in S3, Google Cloud Storage or BigQuery.

More use cases

All use cases →

Start with 500 free credits

Run your first task in the Playground, or call the API with your key.