Unif API Docs

Search AI Mode generative results

Run one live AI Mode search for generative answer evidence, cited sources, and target-domain visibility.

Pricing — $ · min $0.01

Minimum 10 credits ($0.01) per call. Records returned above the minimum bill 1 credit ($0.001) each.

POST
/geo/serp

Authorization

bearerAuth
AuthorizationBearer <token>

UnifAPI API key. Provider credentials are managed by UnifAPI.

In: header

Header Parameters

Unifapi-Version?string

Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md

Idempotency-Key?string

Client-supplied unique key that makes a write request safe to retry. If a request with the same key was already processed, the original response is replayed (with Idempotency-Replayed: true) instead of executing — and billing — again. Send a fresh UUID per logical operation. Best-effort with a 24h window.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/geo/serp" \  -H "Content-Type: application/json" \  -d '{    "query": "string"  }'
{  "request_id": "string",  "data": {    "query": "string",    "location": "string",    "language": "string",    "device": "desktop",    "surface": "google_ai_mode",    "view": "summary",    "observed_at": "string",    "search_url": "string",    "total_results": 0,    "serp_features": [      "string"    ],    "results": [      {        "rank": 0,        "group_rank": 0,        "type": "string",        "title": "string",        "text": "string",        "markdown": "string",        "page": 0,        "position": "string",        "references": [          {            "title": "string",            "url": "string",            "domain": "string",            "source": "string",            "snippet": "string",            "position": "string",            "is_target": true          }        ],        "links": [          {            "title": "string",            "url": "string",            "domain": "string",            "snippet": "string",            "is_target": true          }        ],        "images": [          {            "alt": "string",            "url": "string",            "image_url": "string"          }        ],        "sections": [          {            "type": "string",            "title": "string",            "text": "string",            "markdown": "string",            "url": "string",            "domain": "string",            "source": "string",            "snippet": "string",            "references": [              {                "title": "string",                "url": "string",                "domain": "string",                "source": "string",                "snippet": "string",                "position": "string",                "is_target": true              }            ],            "links": [              {                "title": "string",                "url": "string",                "domain": "string",                "snippet": "string",                "is_target": true              }            ],            "images": [              {                "alt": "string",                "url": "string",                "image_url": "string"              }            ],            "table": null,            "nested_items": [              null            ],            "is_target": true,            "extras": {              "property1": null,              "property2": null            }          }        ],        "is_billable": true,        "is_target": true,        "extras": {          "property1": null,          "property2": null        }      }    ],    "target": {      "value": "string",      "domain": "string",      "present": true,      "best_rank": 0,      "matches": [        {          "rank": 0,          "type": "string",          "title": "string",          "domain": "string",          "url": "string"        }      ],      "citations": [        {          "title": "string",          "url": "string",          "domain": "string",          "source": "string",          "snippet": "string",          "position": "string",          "is_target": true,          "result_rank": 0,          "result_type": "string",          "result_title": "string"        }      ]    },    "competitors": [      {        "domain": "string",        "best_rank": 0,        "citation_count": 0      }    ]  },  "billing": {    "credits_charged": 0,    "records_charged": 0,    "balance_remaining": 0,    "truncated_due_to_balance": true  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}