This page defines the marketing API endpoints that HubSpot offers to developers and customers. For questions, please post to our developers forum.
If you're looking for documentation on creating or adapting an app for the HubSpot App Marketplace, please see the Marketplace Docs.
You can also explore the HubSpot APIs in our Live Documentation which lets you make API calls from the site.
All API calls to HubSpot should be made to the "https://api.hubapi.com" base domain. The following is a list of the API endpoints HubSpot offers:
The HubSpot Blog API provides access to your blogs, blog posts, blog comments, and some analytics data about them. You can use to find blog posts, add new posts, and export related data.
| Method | Description |
|---|---|
| GET /blog/v1/list.:ext | List blogs in a given HubSpot portal. |
| GET /blog/v1/:blog_guid.:ext | List information about a specific blog. |
| GET /blog/v1/:blog_guid/comments.:ext | List comments for a specific blog. |
| GET /blog/v1/:blog_guid/posts.:ext | List Posts for a specific Blog. |
| GET /blog/v1/posts/:post_guid.:ext | List information about a specific blog post. |
| GET /blog/v1/posts/:post_guid/comments.:ext | List comments for a specific blog post. |
| GET /blog/v1/comments/:comment_guid.:ext | List information about a specific blog comment. |
| POST /blog/v1/:blog_guid/posts.atom | Create a new "draft" blog post. |
| PUT /blog/v1/posts/:post_guid.atom | Update a blog post. |
| PUT /blog/v1/posts/:post_guid.atom | Publish a blog post. |
| POST /blog/v1/posts/:post_guid/comments.atom | Create a new blog comment. |
The Keywords API enables developers to access information about the keywords in a HubSpot portal. This information can be relevant for content-related work, search engine optimization, social media interactions and more. Developers can also add or remove keywords from a portal.
| Method | Description |
|---|---|
| GET /keywords/v1/keywords.json | Get a list of Keywords for a given portal. |
| GET /keywords/v1/keywords/:keyword_guid.json | Get information about an individual Keyword. |
| PUT /keywords/v1/keywords.json | Create a new Keyword in a given portal. |
| DELETE /keywords/v1/keywords/:keywords_guid | Delete a Keyword from a portal. |
HubSpot leads are real sales leads that have converted through a website form. This API provides access to HubSpot lead information and intelligence.
| Method | Description |
|---|---|
| GET /leads/v1/list | Search for leads in a given HubSpot portal. Returns information from a maximum of 100 relevant leads that you searched for in JSON format. |
| GET /leads/v1/lead | Search for a specific lead by various criteria. You can search for individual leads by UserToken, Email and ConversionEventGuid. |
| POST /?app=leaddirector&FormName=yourformname | Inserts a lead into HubSpot. This is a great place to start using the Leads resource in order to get your leads into HubSpot via an API call. |
| PUT /leads/v1/lead/GUID | Updates information for a specific lead. |
| POST /leads/v1/callback-url | Create a new webhook endpoint URL. Webhooks are currently limited to HubSpot enterprise customers only. |
| GET /leads/v1/callback-url | Get a list of webhook endpoint URLs. Webhooks are currently limited to HubSpot enterprise customers only. |
| DELETE /leads/v1/callback-url | Delete a webhook endpoint URL. Webhooks are currently limited to HubSpot enterprise customers only. |
Lead Nurturing is a method of marketing automation that consists of automated email campaigns targeted at leads that have converted through HubSpot. The Lead Nurturing API provides access to your lead nurturing campaigns and the leads in them. You can use this API to add and remove leads to and from nurturing campaigns, look up information on a lead-by-lead basis, or find what leads are currently receiving a particular lead nurturing campaign.
| Method | Description |
|---|---|
| GET /nurture/v1/campaigns | Get Lead Nurturing campaign details. |
| GET /nurture/v1/campaign/:campaign_guid/list | Get Leads in a Lead Nurturing campaign. |
| GET /nurture/v1/lead/:lead_guid | Get Lead Nurturing campaign history for a lead. |
| POST /nurture/v1/campaign/:campaign_guid/add | Enroll a lead in a Lead Nurturing campaign |
| POST /nurture/v1/campaign/:campaign_guid/remove | Remove a lead from a Lead Nurturing campaign |
The Marketing Events API enables developers to access marketing events for a particular HubSpot account, or "portal," and create new marketing events, in a consistent and easy fashion.
| Method | Description |
|---|---|
| GET /events/v1/events | Get a list of Marketing Events |
| POST /events/v1/events | Create a new Marketing Event |
Prospects are website visitors that have viewed a website with the HubSpot JavaScript tracking code enabled (including HubSpot CMS and landing pages). We identify prospects by company, geographic region and also associate this information with leads that have converted. The purpose of this API is to enable developers to access prospect information for a particular HubSpot account, or "portal."
Using this API, developers can see who has visited the HubSpot customer's website, search for visitors from particular organizations, filter visitors by city, region, state, or country, and perform a couple of miscellaneous operations in HubSpot's new Prospects application.
| Method | Description |
|---|---|
| GET /prospects/v1/timeline | Get a list of Prospects for a given portal. |
| GET /prospects/v1/timeline/:organization | Get information about a specific prospect's organization or company. |
| GET /prospects/v1/typeahead | Enables an incomplete "typeahead" search query parameter. |
| GET /prospects/v1/search/:search_type | Search for Prospects using various criteria. Note the (search type) in the URL. This must be specified, and it must be one of 'city', 'region', or 'country'. |
| POST /prospects/v1/filters | Hide a Prospect from the HubSpot user interface. |
| GET /prospects/v1/filters | Get a list of hidden Prospects. |
| DELETE /prospects/v1/filters | Un-Hide a Prospect that was previously hidden. |
Settings are related to a particular HubSpot account or "portal". You can access these setting via this API, update a selected subset of those settings and store your own custom settings, in a consistent and easy fashion.
| Method | Description |
|---|---|
| GET /settings/v1/settings | Get a list Settings from a HubSpot portal. |
| POST or PUT /settings/v1/settings | Update a setting within a HubSpot portal. |
| DELETE /settings/v1/settings | Delete a Setting from a HubSpot portal. |
OAuth, (or Open Authorization) is an open standard for authorization. It allows users to share their private resources (e.g. leads, blog posts, prospects) stored on HubSpot with another site without having to hand out their credentials
| Method | Description |
|---|---|
| POST /auth/v1/refresh | Refresh an OAuth Access Token |