# Apps Script API API

> Apps Script API API on Apizie: 16 endpoints (List information about processes made by or on behalf of a user, such as process type and current status., List information about a script's executed processes, such as process type and current status., Creates a new, empty script project with no script files and a base manifest file., Gets a script project's metadata., …) 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-script/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-script`
- Category: Analytics
- Status: byok
- Source: https://developers.google.com/apps-script/api/
- Page: https://zieapi.vercel.app/api/analytics/googleapis-script
- OpenAPI: https://zieapi.vercel.app/api/analytics/googleapis-script/openapi.json

Manages and executes Google Apps Script projects.

## Endpoints

### List information about processes made by or on behalf of a user, such as process type and current status.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-script/script-processes-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | The maximum number of returned processes per page of results. Defaults to 50. |
| pageToken | string | no | The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous… |
| userProcessFilter.deploymentId | string | no | Optional field used to limit returned processes to those originating from projects with a specific deployment ID. |
| userProcessFilter.endTime | string | no | Optional field used to limit returned processes to those that completed on or before the given timestamp. |
| userProcessFilter.functionName | string | no | Optional field used to limit returned processes to those originating from a script function with the given function name. |
| userProcessFilter.projectName | string | no | Optional field used to limit returned processes to those originating from projects with project names containing a specific string. |
| userProcessFilter.scriptId | string | no | Optional field used to limit returned processes to those originating from projects with a specific script ID. |
| userProcessFilter.startTime | string | no | Optional field used to limit returned processes to those that were started on or after the given timestamp. |
| userProcessFilter.statuses | string | no | Optional field used to limit returned processes to those having one of the specified process statuses. |
| userProcessFilter.types | string | no | Optional field used to limit returned processes to those having one of the specified process types. |
| userProcessFilter.userAccessLevels | string | no | Optional field used to limit returned processes to those having one of the specified user access levels. |

### List information about a script's executed processes, such as process type and current status.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-script/script-processes-list-script-processes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | The maximum number of returned processes per page of results. Defaults to 50. |
| pageToken | string | no | The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous… |
| scriptId | string | no | The script ID of the project whose processes are listed. |
| scriptProcessFilter.deploymentId | string | no | Optional field used to limit returned processes to those originating from projects with a specific deployment ID. |
| scriptProcessFilter.endTime | string | no | Optional field used to limit returned processes to those that completed on or before the given timestamp. |
| scriptProcessFilter.functionName | string | no | Optional field used to limit returned processes to those originating from a script function with the given function name. |
| scriptProcessFilter.startTime | string | no | Optional field used to limit returned processes to those that were started on or after the given timestamp. |
| scriptProcessFilter.statuses | string | no | Optional field used to limit returned processes to those having one of the specified process statuses. |
| scriptProcessFilter.types | string | no | Optional field used to limit returned processes to those having one of the specified process types. |
| scriptProcessFilter.userAccessLevels | string | no | Optional field used to limit returned processes to those having one of the specified user access levels. |

### Creates a new, empty script project with no script files and a base manifest file.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Gets a script project's metadata.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| scriptId | string | yes | The script project's Drive ID. |

### Gets the content of the script project, including the code source and metadata for each script file.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-get-content` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| scriptId | string | yes | The script project's Drive ID. |
| versionNumber | integer | no | The version number of the project to retrieve. If not provided, the project's HEAD version is returned. |

### Updates the content of the specified script project. This content is stored as the HEAD version, and is used…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-update-content` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| scriptId | string | yes | The script project's Drive ID. |
| body | object | yes | JSON request body |

### Get metrics data for scripts, such as number of executions and active users.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-get-metrics` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| metricsFilter.deploymentId | string | no | Optional field indicating a specific deployment to retrieve metrics from. |
| metricsGranularity | string | no | Required field indicating what granularity of metrics are returned. |
| scriptId | string | yes | Required field indicating the script to get metrics for. |

### Lists the deployments of an Apps Script project.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-deployments-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | The maximum number of deployments on each returned page. Defaults to 50. |
| pageToken | string | no | The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous… |
| scriptId | string | yes | The script project's Drive ID. |

### Creates a deployment of an Apps Script project.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-deployments-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| scriptId | string | yes | The script project's Drive ID. |
| body | object | yes | JSON request body |

### Gets a deployment of an Apps Script project.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-deployments-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string | yes | The deployment ID. |
| scriptId | string | yes | The script project's Drive ID. |

### Updates a deployment of an Apps Script project.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-deployments-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string | yes | The deployment ID for this deployment. |
| scriptId | string | yes | The script project's Drive ID. |
| body | object | yes | JSON request body |

### Deletes a deployment of an Apps Script project.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-deployments-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string | yes | The deployment ID to be undeployed. |
| scriptId | string | yes | The script project's Drive ID. |

### List the versions of a script project.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-versions-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | The maximum number of versions on each returned page. Defaults to 50. |
| pageToken | string | no | The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous… |
| scriptId | string | yes | The script project's Drive ID. |

### Creates a new immutable version using the current code, with a unique version number.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-versions-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| scriptId | string | yes | The script project's Drive ID. |
| body | object | yes | JSON request body |

### Gets a version of a script project.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-script/script-projects-versions-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| scriptId | string | yes | The script project's Drive ID. |
| versionNumber | integer | yes | The version number. |

### POST /v1/scripts/{scriptId}:run
`POST https://zieapi.vercel.app/v1/analytics:googleapis-script/script-scripts-run` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| scriptId | string | yes | The script ID of the script to be executed. Find the script ID on the **Project settings** page under "IDs." As multiple executable APIs… |
| body | object | yes | JSON request body |

## Example
```
curl "https://zieapi.vercel.app/v1/analytics:googleapis-script/script-processes-list" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

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

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

### Can AI agents use the Apps Script 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-script.

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