# HubSpot CMS Pages API

> HubSpot CMS Pages API on Apizie: 66 endpoints (Get all landing pages, Create a landing page, Create a new A/B test variation, End an active A/B test, …) 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/business:hubspot-cms-pages/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `business:hubspot-cms-pages`
- Category: Business
- Status: byok
- Source: https://developers.hubspot.com/docs/api/overview
- Page: https://apizie.tech/api/business/hubspot-cms-pages
- OpenAPI: https://apizie.tech/api/business/hubspot-cms-pages/openapi.json

Basepom for all HubSpot Projects

## Endpoints

### Get all landing pages
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-get-page` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| archived | boolean | no | Whether to return only results that have been archived. |
| createdAfter | string | no | Filter landing pages that were created after a specific date. The format should be a date-time string. |
| createdAt | string | no | Filter landing pages by their exact creation date. The format should be a date-time string. |
| createdBefore | string | no | Filter landing pages that were created before a specific date. The format should be a date-time string. |
| limit | integer | no | The maximum number of results to display per page. |
| property | string | no | Specify additional properties to include in the response for each landing page. |
| sort | array | no | Specify the sorting order of the results. This should be an array of strings indicating the fields to sort by. |
| updatedAfter | string | no | Filter landing pages that were updated after a specific date. The format should be a date-time string. |
| updatedAt | string | no | Filter landing pages by their exact update date. The format should be a date-time string. |
| updatedBefore | string | no | Filter landing pages that were updated before a specific date. The format should be a date-time string. |

### Create a landing page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-create` (byok)

### Create a new A/B test variation
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-ab-test-create-variatio` (byok)

### End an active A/B test
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-ab-test-end-end-active` (byok)

### Rerun a previous A/B test
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-ab-test-rerun-rerun-pre` (byok)

### Delete landing pages
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-batch-archive-archive-b` (byok)

### Create landing pages
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-batch-create-create-bat` (byok)

### Retrieve landing pages
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-batch-read-read-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| archived | boolean | no | Whether to return only results that have been archived. |

### Update landing pages
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-batch-update-update-bat` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| archived | boolean | no | Whether to return only results that have been archived. |

### Clone a landing page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-clone-clone` (byok)

### Get all landing page folders
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-folders-get-folders-page` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| archived | boolean | no | Whether to return only results that have been archived. |
| createdAfter | string | no | Filter folders created after the specified date and time. |
| createdAt | string | no | Filter folders by the exact creation date and time. |
| createdBefore | string | no | Filter folders created before the specified date and time. |
| limit | integer | no | The maximum number of results to display per page. |
| property | string | no | Specify properties to include in the response. |
| sort | array | no | Specify the order of results. Accepts an array of strings. |
| updatedAfter | string | no | Filter folders updated after the specified date and time. |
| updatedAt | string | no | Filter folders by the exact update date and time. |
| updatedBefore | string | no | Filter folders updated before the specified date and time. |

### Create a landing page folder
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-folders-create-folder` (byok)

### Delete folders
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-folders-batch-archive-a` (byok)

### Create folders
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-folders-batch-create-cr` (byok)

### Retrieve folders
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-folders-batch-read-read` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| archived | boolean | no | Whether to return only results that have been archived. |

### Update folders
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-folders-batch-update-up` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| archived | boolean | no | Whether to return only results that have been archived. |

### Retrieve a landing page folder
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-folders-object-id-get-fo` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the folder to retrieve. |
| archived | boolean | no | Whether to return only results that have been archived. |
| property | string | no | A specific property to include in the response. This parameter allows you to filter the properties returned for the folder. |

### Update a landing page folder
`POST https://apizie.tech/v1/business:hubspot-cms-pages/patch-cms-pages-2026-09-landing-pages-folders-object-id-upda` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the folder to update. |
| archived | boolean | no | Whether to return only results that have been archived. |

### Delete a landing page folder
`POST https://apizie.tech/v1/business:hubspot-cms-pages/delete-cms-pages-2026-09-landing-pages-folders-object-id-arc` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the folder to delete. |
| archived | boolean | no | Whether to return only results that have been archived. |

### Retrieves previous versions of a folder
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-folders-object-id-revisi` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page folder to retrieve revisions for. |
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| before | string | no | A cursor token to retrieve results before a specific point in time. |
| limit | integer | no | The maximum number of results to display per page. |

### Retrieve a previous version of a folder
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-folders-object-id-revisi-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page folder. |
| revisionId | string | yes | The unique identifier of the revision to retrieve. |

### Restore a previous version of a folder
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-folders-object-id-revis` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page folder to restore. |
| revisionId | string | yes | The unique identifier of the revision to restore. |

### Add a landing page to a multi-language group
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-multi-language-attach-t` (byok)

### Create a new language variation
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-multi-language-create-l` (byok)

### Remove a landing page from a multi-language group
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-multi-language-detach-f` (byok)

### Set a new primary language
`POST https://apizie.tech/v1/business:hubspot-cms-pages/put-cms-pages-2026-09-landing-pages-multi-language-set-new-l` (byok)

### Update languages of multi-language group
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-multi-language-update-l` (byok)

### Schedule landing page publishing
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-schedule-schedule` (byok)

### Retrieve a landing page
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-object-id-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page to retrieve. |
| archived | boolean | no | Whether to return only results that have been archived. |
| property | string | no | A specific property to include in the response. |

### Update a landing page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/patch-cms-pages-2026-09-landing-pages-object-id-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page to update. |
| archived | boolean | no | Whether to return only results that have been archived. |

### Delete a landing page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/delete-cms-pages-2026-09-landing-pages-object-id-archive` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page to delete. |
| archived | boolean | no | Whether to return only results that have been archived. |

### Retrieve a landing page draft
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-object-id-draft-get-draf` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page whose draft version is to be retrieved. |

### Update the draft of a landing page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/patch-cms-pages-2026-09-landing-pages-object-id-draft-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page whose draft is to be updated. |

### Push Landing Page draft edits live
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-object-id-draft-push-li` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page draft to be published live. |

### Reset a landing page draft
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-object-id-draft-reset-r` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page whose draft is to be reset. |

### Retrieve all previous versions of a landing page
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-object-id-revisions-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page for which to retrieve revisions. |
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| before | string | no | A cursor token for pagination, indicating the start of the page of results to return. |
| limit | integer | no | The maximum number of results to display per page. |

### Retrieve a previous version of a landing page
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-object-id-revisions-revi` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page whose revision is being retrieved. |
| revisionId | string | yes | The unique identifier of the specific revision to retrieve. |

### Restore a previous version of a landing page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-object-id-revisions-rev` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page whose revision is to be restored. |
| revisionId | string | yes | The unique identifier of the revision to restore. |

### Restore a previous version of a landing page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-landing-pages-object-id-revisions-rev-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the landing page to restore. |
| revisionId | integer | yes | The unique identifier of the revision to restore to draft. |

### Retrieve all website pages
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-site-pages-get-page` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| archived | boolean | no | Whether to return only results that have been archived. |
| createdAfter | string | no | Filter pages created after the specified date-time. |
| createdAt | string | no | Filter pages by their exact creation timestamp. Format should be date-time. |
| createdBefore | string | no | Filter pages created before the specified date-time. |
| limit | integer | no | The maximum number of results to display per page. |
| property | string | no | Specify which properties to include in the response. |
| sort | array | no | Specify the order of the results. Accepts an array of strings. |
| updatedAfter | string | no | Filter pages updated after the specified date-time. |
| updatedAt | string | no | Filter pages by their exact update timestamp. Format should be date-time. |
| updatedBefore | string | no | Filter pages updated before the specified date-time. |

### Create a website page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-create` (byok)

### Create a new A/B test variation
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-ab-test-create-variation-c` (byok)

### End an active A/B test
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-ab-test-end-end-active-abt` (byok)

### Rerun a previous A/B test
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-ab-test-rerun-rerun-previo` (byok)

### Delete website pages
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-batch-archive-archive-batc` (byok)

### Create website pages
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-batch-create-create-batch` (byok)

### Retrieve website pages
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-batch-read-read-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| archived | boolean | no | Whether to return only results that have been archived. |

### Update website pages
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-batch-update-update-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| archived | boolean | no | Whether to return only results that have been archived. |

### Clone a website page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-clone-clone` (byok)

### Add a website page to a multi-language group
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-multi-language-attach-to-l` (byok)

### Create a new language variation
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-multi-language-create-lang` (byok)

### Remove a website page from a multi-language group
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-multi-language-detach-from` (byok)

### Set a new primary language
`POST https://apizie.tech/v1/business:hubspot-cms-pages/put-cms-pages-2026-09-site-pages-multi-language-set-new-lang` (byok)

### Update languages of multi-language group
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-multi-language-update-lang` (byok)

### Schedule a website page to be published
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-schedule-schedule` (byok)

### Retrieve a website page
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-site-pages-object-id-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page to retrieve. |
| archived | boolean | no | Whether to return only results that have been archived. |
| property | string | no | A specific property to include in the response. Use a comma-separated list for multiple properties. |

### Update a website page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/patch-cms-pages-2026-09-site-pages-object-id-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page to update. |
| archived | boolean | no | Whether to return only results that have been archived. |

### Delete a website page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/delete-cms-pages-2026-09-site-pages-object-id-archive` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page to delete. |
| archived | boolean | no | Whether to return only results that have been archived. |

### Retrieve a website page draft
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-site-pages-object-id-draft-get-draft-b` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page whose draft version is to be retrieved. |

### Update a website page draft
`POST https://apizie.tech/v1/business:hubspot-cms-pages/patch-cms-pages-2026-09-site-pages-object-id-draft-update-dr` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page draft to update. |

### Publish website page draft
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-object-id-draft-push-live` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page whose draft version is to be pushed live. |

### Reset the draft of a website page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-object-id-draft-reset-rese` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page whose draft is to be reset. |

### Retrieve all previous versions of a website page
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-site-pages-object-id-revisions-get-pre` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page for which to retrieve revisions. |
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| before | string | no | A cursor token to retrieve results before a specific point in the list. |
| limit | integer | no | The maximum number of results to display per page. |

### Retrieve a previous version of a website page
`GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-site-pages-object-id-revisions-revisio` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page whose revision is to be retrieved. |
| revisionId | string | yes | The unique identifier of the specific revision of the site page to retrieve. |

### Restore a previous version of a website page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-object-id-revisions-revisi` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page whose revision is to be restored. |
| revisionId | string | yes | The unique identifier of the revision to restore. |

### Restore a previous draft of a website page
`POST https://apizie.tech/v1/business:hubspot-cms-pages/post-cms-pages-2026-09-site-pages-object-id-revisions-revisi-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | yes | The unique identifier of the site page to restore. |
| revisionId | integer | yes | The unique identifier of the revision to restore to draft. Must be an integer. |

## Example
```
curl "https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-get-page" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the HubSpot CMS Pages API?
Create a free Apizie key, then send GET https://apizie.tech/v1/business:hubspot-cms-pages/get-cms-pages-2026-09-landing-pages-get-page with the header x-api-key. Every endpoint returns { project, data, timestamp }.

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

### Can AI agents use the HubSpot CMS Pages 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 business:hubspot-cms-pages.

### What is the status of the HubSpot CMS Pages API?
Needs your own provider key (bring your own key)
