# YouTube Reporting API API

> YouTube Reporting API API on Apizie: 8 endpoints (Lists jobs., Creates a job and returns it., Gets a job., Deletes a job., …) 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://apizie.tech/v1/analytics:googleapis-youtubereporting/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-youtubereporting`
- Category: Analytics
- Status: byok
- Source: https://developers.google.com/youtube/reporting/v1/reports/
- Page: https://apizie.tech/api/analytics/googleapis-youtubereporting
- OpenAPI: https://apizie.tech/api/analytics/googleapis-youtubereporting/openapi.json

Schedules reporting jobs containing your YouTube Analytics data and downloads the resulting bulk data reports in the form of CSV files.

## Endpoints

### Lists jobs.
`GET https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-jobs-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| includeSystemManaged | boolean | no | If set to true, also system-managed jobs will be returned; otherwise only user-created jobs will be returned. System-managed jobs can… |
| onBehalfOfContentOwner | string | no | The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). |
| pageSize | integer | no | Requested page size. Server may return fewer jobs than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token… |

### Creates a job and returns it.
`POST https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-jobs-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| onBehalfOfContentOwner | string | no | The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). |
| body | object | yes | JSON request body |

### Gets a job.
`GET https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-jobs-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| jobId | string | yes | The ID of the job to retrieve. |
| onBehalfOfContentOwner | string | no | The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). |

### Deletes a job.
`POST https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-jobs-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| jobId | string | yes | The ID of the job to delete. |
| onBehalfOfContentOwner | string | no | The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). |

### Gets the metadata of a specific report.
`GET https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-jobs-reports-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| jobId | string | yes | The ID of the job. |
| onBehalfOfContentOwner | string | no | The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). |
| reportId | string | yes | The ID of the report to retrieve. |

### Lists reports created by a specific job. Returns NOT_FOUND if the job does not exist.
`GET https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-jobs-reports-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| createdAfter | string | no | If set, only reports created after the specified date/time are returned. |
| jobId | string | yes | The ID of the job. |
| onBehalfOfContentOwner | string | no | The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). |
| pageSize | integer | no | Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | A token identifying a page of results the server should return. Typically, this is the value of ListReportsResponse.next_page_token… |
| startTimeAtOrAfter | string | no | If set, only reports whose start time is greater than or equal the specified date/time are returned. |
| startTimeBefore | string | no | If set, only reports whose start time is smaller than the specified date/time are returned. |

### Method for media download. Download is supported on the URI `/v1/media/{+name}?alt=media`.
`GET https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-media-download` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceName | string | yes | Name of the media that is being downloaded. |

### Lists report types.
`GET https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-report-types-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| includeSystemManaged | boolean | no | If set to true, also system-managed report types will be returned; otherwise only the report types that can be used to create new… |
| onBehalfOfContentOwner | string | no | The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). |
| pageSize | integer | no | Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token… |

## Example
```
curl "https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-jobs-list" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the YouTube Reporting API API?
Create a free Apizie key, then send GET https://apizie.tech/v1/analytics:googleapis-youtubereporting/youtubereporting-jobs-list with the header x-api-key. Every endpoint returns { project, data, timestamp }.

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

### Can AI agents use the YouTube Reporting API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-youtubereporting.

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