There's a new version of the HubSpot API

As of November 30, 2022, HubSpot API keys are no longer a supported authentication method for accessing HubSpot APIs. Instead, you should use a private app access token or OAuth to authenticate API calls. Learn more about this change and how to migrate an API key integration to use a private app instead.

List blogs

Last updated May 15, 2023

GET /content/api/v2/blogs

Method Details

HTTP Methods:

GET

Response Format:

json

Requires Authentication?

Yes

Rate Limited?

Yes

Headers

User-Agent

Products:

Marketing

List all of the blogs for an account. Supports paging and filtering.

Required Parameters How to use Description
OAuth access token or private app access token Authorization: Bearer {token} header Used to authenticate the request. Please see this page for more details about authentication.

Optional query string filters & options

If a parameter supports a filter type of 'gt', that means you can append a double underscore to the parameter name to find all items greater than the specified value. For example, the following query will find all blogs created after 5/1/2015: https://api.hubapi.com/content/api/v2/blogs?created__gt=1430452800000

Parameter name Description
limit The number of items to return. Defaults to 20
topic_id The id of a topic you wish to filter blog posts by. Topic IDs can be found using the topics endpoint
offset The offset set to start returning rows from. Defaults to 0.
archived_at exact, gt, gte - When the post was deleted, in milliseconds since the epoch. Zero if the blog post was never deleted. Use a DELETE request to delete the post, do not set this directly
created exact, range, gt, gte, lt, lte - When the post was first created, in milliseconds since the epoch
name exact, in - The internal name of the blog

Example Usage and Result

Hit this URL with a HTTP method of GET  https://api.hubapi.com/content/api/v2/blogs

JSON Fields returned in the response

Parameter name Type Description
allow_comments boolean Are comments enabled for the blog
archived_at long When the post was deleted, in milliseconds since the epoch. Zero if the blog post was never deleted. Use a DELETE request to delete the post, do not set this directly.
created long When the post was first created, in milliseconds since the epoch
html_title string The title in the <title> attribute of the page, shows up in the browsers title bar and as the title in Google search results
name string The internal name of the blog
public_title string The header of the blog
root_url string The full URL with domain and scheme to the blog post
slug string The path of the URL on which the post will live. Changing this will change the URL.
updated long When the post was last updated, in milliseconds since the epoch