Skip to main content

Supported products

This functionality is currently in beta. By participating in this beta, you agree to HubSpot’s Developer Terms and Developer Beta Terms. Note that the functionality is still under active development and is subject to change based on testing and feedback.
The forecast tool in HubSpot allows you track your team’s progress towards customized sales or service targets. You can then use the forecasts API to retrieve data from existing forecasts you’ve created in your HubSpot account.
Please note: this phase of the beta provides read-only endpoints for your forecasts. You cannot currently create, update, or delete forecasts using this API.

Scope requirements

To use the forecast endpoints, you’ll need to authorize the crm.objects.forecasts.read scope for your app.

Retrieve forecast data

To retrieve all forecast submissions in your account, make a GET request to /crm/objects/v3/forecasts and provide any comma-separated properties that you want included in the response using the ?properties query parameter. For example, a GET request to https://api.hubspot.com/crm/objects/v3/forecasts?properties=hs_created_by_user_id,hs_milestone,hs_team_id,hs_year,hs_included_deal_ids would result in a response that resembles the following:
You can also retrieve a specific forecast by its ID by making a GET request to crm/objects/v3/forecasts/{id}. The table below provides some common properties you might want to query for when using these APIs.

Retrieve forecast types

Forecast types define how HubSpot calculates and displays revenue projections in the forecasting tool. Each forecast type requires two properties:
  • Amount property: the aggregate value used in the forecast (e.g., a deal amount, ARR, or a custom revenue field).
  • Date property: the time-based field to use for filtering (e.g., a close date or a custom date property).
Every HubSpot account has a default forecast type that uses the standard amount and closedate deal properties. You can create up to four additional custom forecast types to forecast on different revenue metrics, such as forecasting on a Services Amount property for one-time or ongoing professional services revenue.
  • When you create a custom forecast type, HubSpot automatically generates the supporting calculated properties to provide multi-currency support and probability-weighted projections.
  • If your account has deal splits enabled, a matching set of properties will also be created on the deal split object.
To retrieve all forecast types available in your account, make a GET request to /forecast-settings/v3/forecast-types. The response always includes the default “Sales Forecast” type (with "id": "0") as the first item, followed by any custom forecast types you’ve configured. For example, to get all available forecast types, you’d make a GET request to https://api.hubspot.com/forecast-settings/v3/forecast-types. A successful response will resemble the following:
You can also retrieve a specific forecast type by its ID by making a GET request to /forecast-settings/v3/forecast-types/{id}. To retrieve the default forecast type, use 0 as the ID. The table below provides the properties available for each forecast type:

Deal split properties

When deal splits are enabled for an account, the returned forecast type includes a populated dealSplitProperties object. Deal splits allow a single deal’s revenue to be divided among multiple owners based on percentages. Because deal splits are stored as a separate CRM object type, forecasts require additional properties to aggregate split amounts correctly. The dealSplitProperties property in the response maps the forecast type’s amount and date properties to their corresponding deal split equivalents. Based on whether the forecast type is aggregated from the deal object or the deal split object, the following properties are provided within dealSplitProperties: Deal related properties The following properties are used when aggregating from the deal object: Deal split related properties The following properties are used when aggregating from the deal split object: If a HubSpot user views their individual forecast with deal splits enabled:
  • HubSpot will query the corresponding deal_split object instead of the deal object.
  • HubSpot will use the dealSplitCustomAmountProperty field to get each sales rep’s portion of the revenue.
  • Currency conversion will use the value defined in the dealSplitCustomAmountPropertyInHomeCurrency field.
  • Weighted projections will use the value defined in either the dealSplitWeightedCustomAmountProperty or dealSplitWeightedCustomAmountPropertyInHomeCurrency fields.
This behavior ensures that when a $100,000 deal is split 60/40, one sales rep will see $60,000 in their forecast, while the other rep will see $40,000, rather than both seeing the full $100,000. The code block below provides an example response from making a GET request to /forecast-settings/v3/forecast-types with the dealSplitProperties property populated:
Last modified on June 29, 2026