# Analytics Hub API API

> Analytics Hub API API on Apizie: 20 endpoints (Lists all data exchanges from projects in a given organization and location., Lists all data exchanges in a given project and location., Creates a new data exchange., Gets the details of a Subscription., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-analyticshub`
- Category: Analytics
- Status: byok
- Source: https://cloud.google.com/bigquery/docs/analytics-hub-introduction
- Page: https://zieapi.vercel.app/api/analytics/googleapis-analyticshub
- OpenAPI: https://zieapi.vercel.app/api/analytics/googleapis-analyticshub/openapi.json

Exchange data and analytics assets securely and efficiently.

## Endpoints

### Lists all data exchanges from projects in a given organization and location.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-organizations-locations-data-exchanges-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organization | string | yes | Required. The organization resource path of the projects containing DataExchanges. e.g. `organizations/myorg/locations/us`. |
| pageSize | integer | no | The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection. |
| pageToken | string | no | Page token, returned by a previous call, to request the next page of results. |

### Lists all data exchanges in a given project and location.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection. |
| pageToken | string | no | Page token, returned by a previous call, to request the next page of results. |
| parent | string | yes | Required. The parent resource path of the data exchanges. e.g. `projects/myproject/locations/us`. |

### Creates a new data exchange.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dataExchangeId | string | no | Required. The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Max length: 100 bytes. |
| parent | string | yes | Required. The parent resource path of the data exchange. e.g. `projects/myproject/locations/us`. |
| body | object | yes | JSON request body |

### Gets the details of a Subscription.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-subscriptions-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name of the subscription. e.g. projects/123/locations/us/subscriptions/456 |

### Updates an existing QueryTemplate
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-query-templat` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Output only. The resource name of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/456` |
| updateMask | string | no | Optional. Field mask specifies the fields to update in the query template resource. The fields specified in the `updateMask` are relative… |
| body | object | yes | JSON request body |

### Deletes a subscription.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-subscriptions-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name of the subscription to delete. e.g. projects/123/locations/us/subscriptions/456 |

### Gets the IAM policy.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-subscriptions-get-iam-policy` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resource | string | yes | REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names)… |
| body | object | yes | JSON request body |

### Lists all subscriptions on a given Data Exchange or Listing.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-listings-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| includeDeletedSubscriptions | boolean | no | If selected, includes deleted subscriptions in the response (up to 63 days after deletion). |
| pageSize | integer | no | The maximum number of results to return in a single response page. |
| pageToken | string | no | Page token, returned by a previous call. |
| resource | string | yes | Required. Resource name of the requested target. This resource may be either a Listing or a DataExchange. e.g.… |

### Sets the IAM policy.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-subscriptions-set-iam-policy` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resource | string | yes | REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names)… |
| body | object | yes | JSON request body |

### Subscribes to a listing. Currently, with Analytics Hub, you can create listings that reference only BigQuery…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-listings-subs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name of the listing that you want to subscribe to. e.g. `projects/myproject/locations/us/dataExchanges/123/listings/456`. |
| body | object | yes | JSON request body |

### Returns the permissions that a caller has.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-listings-test` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resource | string | yes | REQUIRED: The resource for which the policy detail is being requested. See [Resource… |
| body | object | yes | JSON request body |

### Lists all listings in a given project and location.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-listings-list-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection. |
| pageToken | string | no | Page token, returned by a previous call, to request the next page of results. |
| parent | string | yes | Required. The parent resource path of the listing. e.g. `projects/myproject/locations/us/dataExchanges/123`. |

### Creates a new listing.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-listings-crea` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| listingId | string | no | Required. The ID of the listing to create. Must contain only Unicode letters, numbers (0-9), underscores (_). Max length: 100 bytes. |
| parent | string | yes | Required. The parent resource path of the listing. e.g. `projects/myproject/locations/us/dataExchanges/123`. |
| body | object | yes | JSON request body |

### Approves a query template.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-query-templat-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. |
| body | object | yes | JSON request body |

### Lists all QueryTemplates in a given project and location.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-query-templat-3` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Optional. The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire… |
| pageToken | string | no | Optional. Page token, returned by a previous call, to request the next page of results. |
| parent | string | yes | Required. The parent resource path of the QueryTemplates. e.g. `projects/myproject/locations/us/dataExchanges/123`. |

### Creates a new QueryTemplate
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-query-templat-4` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent resource path of the QueryTemplate. e.g.… |
| queryTemplateId | string | no | Required. The ID of the QueryTemplate to create. Must contain only Unicode letters, numbers (0-9), underscores (_). Max length: 100 bytes. |
| body | object | yes | JSON request body |

### Submits a query template for approval.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-data-exchanges-query-templat-5` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. |
| body | object | yes | JSON request body |

### Lists all subscriptions in a given project and location.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-subscriptions-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | An expression for filtering the results of the request. Eligible fields for filtering are: + `listing` + `data_exchange` Alternatively, a… |
| pageSize | integer | no | The maximum number of results to return in a single response page. |
| pageToken | string | no | Page token, returned by a previous call. |
| parent | string | yes | Required. The parent resource path of the subscription. e.g. projects/myproject/locations/us |

### Refreshes a Subscription to a Data Exchange. A Data Exchange can become stale when a publisher adds or…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-subscriptions-refresh` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name of the Subscription to refresh. e.g. `projects/subscriberproject/locations/us/subscriptions/123` |
| body | object | yes | JSON request body |

### Revokes a given subscription.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-projects-locations-subscriptions-revoke` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name of the subscription to revoke. e.g. projects/123/locations/us/subscriptions/456 |
| body | object | yes | JSON request body |

## Example
```
curl "https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-organizations-locations-data-exchanges-list" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Analytics Hub API API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/analytics:googleapis-analyticshub/analyticshub-organizations-locations-data-exchanges-list with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Analytics Hub API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Analytics Hub API itself also needs your own key from googleapis.com.

### Can AI agents use the Analytics Hub API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-analyticshub.

### What is the status of the Analytics Hub API API?
Needs your own provider key (bring your own key)
