For Agents
Publish, subscribe to, and manage shared BigQuery data products via Analytics Hub data exchanges, listings, and subscriptions.
Get started with Analytics Hub API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"create an Analytics Hub listing"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Analytics Hub API API.
List data exchanges available within an organisation or under a project parent
Create a new listing in an exchange that publishes a BigQuery dataset for sharing
Subscribe a destination project to a published listing so it appears as a linked dataset
Refresh a subscription to pull the latest version of a published dataset
GET STARTED
Use for: List all Analytics Hub data exchanges I can publish into, Create a new listing under an existing data exchange, Subscribe my project to a published listing, Refresh an existing Analytics Hub subscription
Not supported: Does not run BigQuery queries, copy datasets, or manage compute reservations — use for Analytics Hub data exchanges, listings, and subscriptions only.
Analytics Hub is Google Cloud's data exchange built on top of BigQuery. The API manages data exchanges, listings (the published shareable assets), and subscriptions (the consumer side that surfaces a listing in a destination project's BigQuery dataset). It supports listing, creating, subscribing, refreshing, and revoking these resources, plus IAM-style policy management on each. It is intended for organisations that publish or consume data products across project, team, or organisation boundaries.
Revoke a subscription to stop a consumer from accessing a shared listing
Read and update the IAM policy on an exchange or listing for fine-grained access control
List subscriptions on a listing to audit which consumer projects have access
Patterns agents use Analytics Hub API API for, with concrete tasks.
★ Cross-Team Data Product Publishing
A central data platform team curates BigQuery datasets and wants other teams across the organisation to subscribe to them rather than duplicating or copying tables. The Analytics Hub API creates a data exchange, registers a listing pointing at the source dataset, and exposes the listing for consumers to subscribe to. The consumer's BigQuery sees a linked dataset with no copy or storage cost.
POST /v1/{+parent}/dataExchanges to create the exchange, then POST /v1/{+parent}/listings with a bigqueryDataset source pointing at projects/{p}/datasets/{ds}.
Consumer Subscription Workflow
A consumer team wants to subscribe to a published listing so the dataset appears in their own BigQuery project. Calling :subscribe on the listing creates a linked dataset in the destination project. :refresh keeps the subscription current after the publisher updates the source, and :revoke ends access. This replaces ad-hoc table copies and email requests for access.
POST /v1/{+name}:subscribe on the listing with destinationDataset set to the consumer's project, then schedule periodic POST /v1/{+name}:refresh on the resulting subscription.
Access Audit on Shared Listings
Compliance teams need to know which consumer projects subscribe to a sensitive listing and revoke any that should no longer have access. List subscriptions on the listing returns each consumer subscription, and per-subscription IAM gives the binding details. A periodic audit job iterates these and emits a report.
List subscriptions under the listing, GET /v1/{+name} for each to capture state and consumer project, and surface anything that no longer matches the access policy.
Agent-Led Data Sharing
An agent integrating Analytics Hub through Jentic can interpret 'share this dataset with the analytics team' as a chain of create-listing and subscribe operations. Jentic isolates the Google Cloud service account and exposes the operation schemas, so the agent does not need bespoke OAuth or BigQuery dataset wiring code — the data exchange, listing, and subscription steps are direct tool calls.
Use the Jentic search query 'create an Analytics Hub listing' to discover /v1/{+parent}/listings, create the listing, then call :subscribe to attach the consumer project.
16 endpoints — analytics hub is google cloud's data exchange built on top of bigquery.
METHOD
PATH
DESCRIPTION
/v1/{+organization}/dataExchanges
List data exchanges visible to an organisation
/v1/{+parent}/dataExchanges
List data exchanges under a project parent
/v1/{+parent}/listings
List listings under a data exchange
/v1/{+parent}/subscriptions
List subscriptions under a parent
/v1/{+name}:subscribe
Subscribe a consumer project to a listing
/v1/{+name}:refresh
Refresh an existing subscription
/v1/{+name}:revoke
Revoke a subscription
/v1/{+organization}/dataExchanges
List data exchanges visible to an organisation
/v1/{+parent}/dataExchanges
List data exchanges under a project parent
/v1/{+parent}/listings
List listings under a data exchange
/v1/{+parent}/subscriptions
List subscriptions under a parent
/v1/{+name}:subscribe
Subscribe a consumer project to a listing
Three things that make agents converge on Jentic-routed access.
Credential isolation
Analytics Hub uses OAuth 2.0 access tokens minted from a Google Cloud service account. Jentic keeps the service account JSON in the MAXsystem vault and provides short-lived tokens to the agent so service account keys stay out of agent memory.
Intent-based discovery
Agents search Jentic with intents like 'create an Analytics Hub listing' or 'subscribe to a data exchange' and receive the matching operation across the 16-endpoint surface with its input schema.
Time to first call
Direct integration takes 1-2 days for OAuth, BigQuery wiring, and the listing/subscription flow. Through Jentic the same publish-and-subscribe sequence runs in under an hour.
Alternatives and complements available in the Jentic catalogue.
BigQuery API
BigQuery is the underlying warehouse; Analytics Hub is the sharing layer on top of BigQuery datasets.
Pair with BigQuery whenever an agent needs to create the source dataset before publishing it as a listing.
BigQuery Data Transfer API
Data Transfer copies external data into BigQuery; Analytics Hub shares existing BigQuery data without copying.
Use Data Transfer to ingest external sources; use Analytics Hub to share datasets that already live in BigQuery.
Data Catalog API
Data Catalog tags and discovers datasets; Analytics Hub publishes them for cross-project subscription.
Pair with Data Catalog when an agent needs to enrich a listing's metadata for discoverability.
Specific to using Analytics Hub API API through Jentic.
What authentication does the Analytics Hub API use?
OAuth 2.0 with the cloud-platform or bigquery scopes, typically via a Google Cloud service account that holds Analytics Hub roles on the relevant resources. Jentic stores the service account JSON in the MAXsystem vault and only short-lived access tokens reach the agent.
Can I subscribe a consumer project to a listing through the API?
Yes. Call POST /v1/{+name}:subscribe on the listing with the consumer's destinationDataset, and a linked BigQuery dataset is created in that consumer project. Use :refresh to update and :revoke to remove access.
What are the rate limits for the Analytics Hub API?
Analytics Hub is governed by per-project Google Cloud quotas listed under the Analytics Hub service. Subscriptions are also subject to BigQuery dataset and project limits in the destination project.
How do I publish a BigQuery dataset as a listing through Jentic?
Search Jentic for 'create an Analytics Hub listing', load the schema for /v1/{+parent}/listings, and execute it with a bigqueryDataset source pointing at projects/{p}/datasets/{ds}. Run pip install jentic and use the async search, load, execute pattern.
Does Analytics Hub copy the source dataset?
No. Listings are linked datasets — consumers query the publisher's data in place via BigQuery. The publisher pays storage and the consumer pays query compute, so there is no duplicate storage cost from sharing through Analytics Hub.
/v1/{+name}:refresh
Refresh an existing subscription
/v1/{+name}:revoke
Revoke a subscription