Agentic Platform
Documentation API reference Tools Skills

Tools

Botify Data

botify_data

Query your Botify data.

Playground

Your organization, project and token stay in this browser's local storage and are sent straight to the API — this page never sees them.

POST
item
query required Human readable query to get data from (ex: indexable URLs by depth, avg outlinks by pagetype, impressions by country last month, etc)
config
run_query Whether to run the query

Billing

Fixed cost per question asked. The data comes from your own Botify project and adds nothing. Models turn your question into a query and read the result back, so what you pay beyond the call scales with the complexity of the question and the size of the answer.

These usage SKUs can be charged on a call.

SKU Credits Description
Tool call 1 per request Charged once per successful item, on top of any usage below.
Gemini 3 Flash (flex), input 250 per million tokens Tokens the model reads from the prompt you send.
Gemini 3 Flash (flex), output 1,500 per million tokens Tokens the model writes in its answer.
Gemini 3 Flash (flex), read from cache 50 per million tokens Tokens the model reads from a cached prompt. Cheaper than a fresh read.
Gemini 3 Flash (standard), input 500 per million tokens Tokens the model reads from the prompt you send.
Gemini 3 Flash (standard), output 3,000 per million tokens Tokens the model writes in its answer.
Gemini 3 Flash (standard), read from cache 50 per million tokens Tokens the model reads from a cached prompt. Cheaper than a fresh read.

Schemas

item is what you send, config how the tool behaves, and the response is what you get back.

Item

object
Properties
query string required

Human readable query to get data from (ex: indexable URLs by depth, avg outlinks by pagetype, impressions by country last month, etc)

Example
{
  "query": "string"
}

Configuration

object
Properties
run_query boolean

Whether to run the query

Default: true

Example
{
  "run_query": true
}

Response

object
Properties
bql_query object required

Generated BQL query

results array | null required

Results of the BQL query

metadata BQLMetadata required

Metadata of the BQL query

Type: BQLMetadata

title string | null

Query requested by the user

Default: null

Example
{
  "bql_query": {},
  "results": [],
  "metadata": {
    "fields": [
      {
        "kind": "dimension",
        "name": "string",
        "type": "string",
        "subtype": null,
        "metadata": {
          "period_comment": null
        },
        "multiple": true
      }
    ],
    "is_bql_v2": true
  },
  "title": null
}

Type Definitions

3 types

These are the available sub-object types that can be used in the properties above.

BQLMetadata object
#
fields array required

Items: BQLResultField

is_bql_v2 boolean

Default: true

BQLResultField object
#
kind string required

Values: dimension metric

name string required
type string required
subtype string | null

Default: null

metadata FieldMetadata required

Type: FieldMetadata

multiple boolean required
FieldMetadata object
#
period_comment string | null

Default: null

Endpoints

POST http://agents.botify.com/{organization}/{project}/botify_data/process
POST http://agents.botify.com/{organization}/{project}/botify_data/batch_process
POST http://agents.botify.com/{organization}/{project}/botify_data/async_process
POST http://agents.botify.com/{organization}/{project}/botify_data/async_batch_process

See running a long job in the background for the polling flow.

cURL

curl -X POST "http://agents.botify.com/{organization}/{project}/botify_data/process" \
  -H "Authorization: Bearer $BOTIFY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "item": {
    "query": "<query>"
  }
}'

Raw metadata