HubSpot.Api 9.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package HubSpot.Api --version 9.0.3
                    
NuGet\Install-Package HubSpot.Api -Version 9.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HubSpot.Api" Version="9.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HubSpot.Api" Version="9.0.3" />
                    
Directory.Packages.props
<PackageReference Include="HubSpot.Api" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add HubSpot.Api --version 9.0.3
                    
#r "nuget: HubSpot.Api, 9.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package HubSpot.Api@9.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=HubSpot.Api&version=9.0.3
                    
Install as a Cake Addin
#tool nuget:?package=HubSpot.Api&version=9.0.3
                    
Install as a Cake Tool

HubSpot.Api

The HubSpot REST API nuget package, authored by Panoramic Data Limited.

Nuget Nuget License: MIT Codacy Badge

If you want some HubSpot software developed, come find us at: https://www.panoramicdata.com/ !


Examples

A simple example:

using HubSpot.Api;

[...]

public static async Task GetAllDeals(ILogger logger, CancellationToken cancellationToken)
{
	using var hubSpotClient = new HubSpotClient(
		new HubSpotClientOptions
		{
			AccessToken = "[ACCESSTOKEN]",
			Logger = logger
		}
	);

	var deals = await hubSpotClient
		.Crm
		.Deals
		.GetPageAsync(new CrmPageRequest { Limit = 10 }, cancellationToken)
		.ConfigureAwait(false);

	Console.WriteLine($"Deal Count: {deals.Results.Count}");
}

API Coverage

This table provides a full list of HubSpot APIs, built from this JSON file, including references to their documentation and coverage in this library.

We're aiming for full coverage and all Pull Requests are welcome.

Key:

Symbol API Coverage
⚫ None
:yellow_circle: Partial
:green_square: Full
Type Object Documentation HubSpot API Status Nuget Coverage
Analytics Analytics Link Developer Preview ⚫
Auth Auth Link Latest ⚫
Automation Automation Link Latest ⚫
Business Units Business Units Link Stable ⚫
Communication Preferences Communication Preferences Link Developer Preview ⚫
Conversations Conversations Link Latest ⚫
CMS Domains Link Developer Preview :yellow_circle:
CMS Source Code Link Developer Preview ⚫
CMS Blog Posts Link Developer Preview ⚫
CMS Authors Link Developer Preview ⚫
CMS URL Redirects Link Developer Preview ⚫
CMS Performance Link Developer Preview ⚫
CMS Hubdb Link Developer Preview ⚫
CMS Tags Link Developer Preview ⚫
CMS Audit Logs Link Developer Preview ⚫
CMS Site Search Link Developer Preview ⚫
CRM Accounting Link Latest ⚫
CRM Associations Link Latest ⚫
CRM Associations (v4) Link Stable ⚫
CRM Calling Link Latest ⚫
CRM Companies Link Latest :yellow_circle:
CRM Contacts Link Latest :yellow_circle:
CRM Extensions Link Latest ⚫
CRM Deals Link Latest :yellow_circle:
CRM Feedback Submissions Link Developer Preview :yellow_circle:
CRM Imports Link Latest ⚫
CRM Line Items Link Latest :yellow_circle:
CRM Objects Link Latest ⚫
CRM Owners Link Latest ⚫
CRM Pipelines Link Latest ⚫
CRM Properties Link Latest ⚫
CRM Quotes Link Latest ⚫
CRM Schemas Link Latest ⚫
CRM Tickets Link Latest :yellow_circle:
CRM Timeline Link Latest ⚫
CRM Videoconferencing Link Latest ⚫
Events Events Link Developer Preview ⚫
Marketing Marketing Events (beta) Link Latest ⚫
Marketing Transactional Link Latest ⚫
Webhooks Webhooks Link Latest ⚫
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.0.29 176 9/7/2026
9.0.26 122 9/3/2026
9.0.23 113 8/29/2026
9.0.13-alpha 19,469 4/28/2025
9.0.12-alpha 248 4/28/2025
9.0.10-alpha 202 4/27/2025
9.0.8-alpha 156 4/26/2025
9.0.7-alpha 164 4/26/2025
9.0.5-alpha 158 4/26/2025
9.0.4-alpha 519 1/3/2025
9.0.3 86 9/14/2026
9.0.2-alpha 165 12/20/2024
0.1.24-alpha 1,257 12/9/2023
0.1.22-alpha 271 11/27/2023
0.1.21-alpha 186 11/27/2023
0.1.20-alpha 197 11/26/2023
0.1.9-alpha 188 11/26/2023

Breaking change: query filters are now request objects, and CancellationToken is mandatory.

     The major version stays at 9 because it tracks the version of the HubSpot API this library
     targets, not the shape of the library's own surface. Read the version number as "HubSpot API
     v9"; it does not follow semantic versioning, so a major version that has not moved is not a
     promise that your code still compiles. This release will not compile against existing calls.

     Endpoints that took a list of optional query parameters now take one request object:

       Before: GetPageAsync(limit: 10, properties: ["name"], cancellationToken: ct)
       After:  GetPageAsync(new CrmPageRequest { Limit = 10, Properties = ["name"] }, ct)

       Before: GetAsync(id, properties: ["name"], cancellationToken: ct)
       After:  GetAsync(id, new CrmGetRequest { Properties = ["name"] }, ct)

     CrmPageRequest derives from CrmGetRequest, adding Limit and After, so a caller that already
     has filters for one endpoint can reuse them across object types. IDomains.GetPageAsync takes
     DomainPageRequest. Where no filters are wanted, pass new().

     Every CancellationToken parameter has lost its "= default" and is now required. Calls that
     relied on the default will no longer compile; pass the token explicitly. Calls that passed it
     by name (cancellationToken: ct) still compile once the new request argument is supplied.

     The query string sent to HubSpot is unchanged: each request property carries an explicit
     AliasAs, and the outgoing URI is now covered by tests that need no portal credentials.

     Motivation: the optional parameters drew 92 static analysis findings, and the six-parameter
     filter block repeated across nine interfaces was the bulk of the library's reported code
     duplication. Both are resolved by the single shared request type.