Skip to main content
The Query API retrieves user data after they’ve granted consent through Emerge Link. Choose between synchronous (immediate response) or asynchronous (job-based) queries depending on your use case.

Available data types

Sync vs Async

Best for: Real-time needs, single users, simple integrations
Characteristics:
  • Single uid parameter
  • Response includes data directly as JSON
  • 30-second timeout
  • Supports pagination with cursor
  • Supports delta queries with ingested_begin/ingested_end

When to use each

Authentication

All Query API endpoints require a Bearer token:
Sync endpoints require uid. Use the callback uid you stored on your backend (or the same value you supplied in the Link URL). Never ask end-users for uid, and never call Query from the frontend since tokens and user mapping must stay server-side.

Categories and schema

  • Categories are Google Topics taxonomy paths (for example /Shopping/Apparel/Footwear).
  • Use GET /v1/sync/categories?table=searches (or browsing, youtube, ads, receipts) to list available category paths.
Response example:
See:

Sync response format

Sync endpoints return JSON directly:

Async response format

Async endpoints return a job reference:
When completed, the job result includes a download URL:
The download URL points to a Parquet file containing all results.

Error responses

Next steps

Pagination

Handle large datasets with cursors and delta queries

Event Categories

First-level category list and filter patterns

Data Schema

Field-level schema for all Query event types