hubspot-api-client
HubSpot API client
What it is and what it does
The hubspot-api-client is an official Python SDK that wraps HubSpot's API v3 endpoints, providing typed access to CRM objects (contacts, companies, deals), OAuth token management, CMS audit logs, and file uploads. It abstracts away HTTP details and handles authentication, allowing developers to interact with HubSpot data programmatically using Python objects and methods rather than raw REST calls.
The package includes utilities for OAuth URL generation, webhook signature validation, and HTTP retry configuration via urllib3. It supports both paginated retrieval of all records and filtered search queries. For endpoints not yet wrapped by the SDK, a direct api_request method exposes the underlying HTTP client with all configured credentials and retry logic already applied.
Use it for:
- Sync contact and company data from HubSpot into a Python application or data pipeline.
- Create or update CRM records (contacts, deals, custom objects) programmatically from external systems.
- Validate incoming HubSpot webhook requests to ensure they originate from HubSpot.
- Implement OAuth2 authentication flow to obtain user-delegated access tokens for multi-tenant apps.
- Upload files to HubSpot and organize them in folders via the Files API.
- Search CRM records by date, property values, or custom filters without fetching all results.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python SDK for the HubSpot API v3 that provides typed client access to CRM, OAuth, CMS, and Files endpoints with built-in retry and signature validation support.
Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and is permissively licensed. It is the official HubSpot Python SDK and the standard choice for integrating HubSpot APIs into Python applications. Install it if you need to interact with HubSpot's CRM, OAuth, or file APIs from Python.
Install
hubspot-api-client on PyPI
pip
pip install hubspot-api-clientuv
uv add hubspot-api-clientpoetry
poetry add hubspot-api-clientInstalling hubspot-api-client
Before you install
Low install friction with six common dependencies (requests, urllib3, six, certifi, python-dateutil, importlib-metadata). Package is actively maintained with a recent release on 2025-05-07 and an active GitHub repository.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and private projects with minimal restrictions beyond attribution.
Quickstart
pip install hubspot-api-client
from hubspot import HubSpot
api_client = HubSpot(access_token='your_access_token')
contact = api_client.crm.contacts.basic_api.get_by_id('contact_id')
Requires Python 3.7 or later and a valid HubSpot access token (obtained via private app or OAuth2).
Verify before relying
- Whether the package supports all current HubSpot API v3 endpoints or if some remain unwrapped.
- Performance characteristics when handling large result sets with pagination.
- Compatibility with async/await patterns or if only synchronous requests are supported.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — requests, urllib3, six, certifi, python-dateutil, importlib-metadata |
| Maintenance | actively maintained — 464 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,099,956/month — #2,381 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: hubspot_api_client-12.0.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
brevo-pythonOfficial Python SDK for the Brevo API,…
unclear · top 15,000 on PyPI
dynamics365crm-pythonProvides a Python client for interacting with…
permissive · top 15,000 on PyPI
dropbox-signPython client library for the Dropbox Sign v3…
permissive · top 5,000 on PyPI
pycdcSearches the web for gift ideas and client…
permissive · top 15,000 on PyPI
tiktok-business-api-sdk-officialProvides Python client libraries for the TikTok…
permissive · top 15,000 on PyPI
Unified-python-sdkPython SDK client for the Unified.to API,…
unclear · top 15,000 on PyPI
xdkA Python SDK for interacting with the X API,…
permissive · top 15,000 on PyPI
bandwidth-sdkPython client library for Bandwidth's…
unclear · top 15,000 on PyPI
snaptrade-python-sdkPython SDK client for SnapTrade's brokerage…
permissive · top 15,000 on PyPI
lakefs-sdkProvides a Python client library for the lakeFS…
permissive · top 15,000 on PyPI