HubSpot.Api
9.0.3
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
<PackageReference Include="HubSpot.Api" Version="9.0.3" />
<PackageVersion Include="HubSpot.Api" Version="9.0.3" />
<PackageReference Include="HubSpot.Api" />
paket add HubSpot.Api --version 9.0.3
#r "nuget: HubSpot.Api, 9.0.3"
#:package HubSpot.Api@9.0.3
#addin nuget:?package=HubSpot.Api&version=9.0.3
#tool nuget:?package=HubSpot.Api&version=9.0.3
HubSpot.Api
The HubSpot REST API nuget package, authored by Panoramic Data Limited.
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 | Versions 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. |
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Refit (>= 15.2.0)
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.