Developer tools & accounts

HubSpot has a number of tools to get your app or integration up and running. The first thing you should do is create a developer account.* From there, you’ll be able to create an app, list your apps on the App Marketplace, or create a test account.

*If you want to build a custom integration for a single account using its API key, you might not need a developer account. However, test accounts can only be created within developer accounts. You may still want to create test accounts to test your integration without affecting any real HubSpot data.

What are apps used for in HubSpot?

Distribution and security:

Think of apps as a package for any functionality you want to share with HubSpot users (or a single HubSpot account). Authenticating your app with OAuth keeps this package secure for users connecting your integration.

API requirements:

Having an app in HubSpot is required to use the CRM card, timeline event, and webhook features. While not required, it is strongly recommended for the Ecommerce Bridge.

What’s the relationship between a developer account and a test account?

While developer and test accounts work together, they each serve a distinct purpose. Developer accounts are where you can build and list apps. Test accounts* allow you to try our APIs and test the apps you’re building without impacting data from a real HubSpot account. Test accounts expire after 90 days, but can be renewed manually or automatically when an OAuth call is made. Test accounts can only be created and managed in a developer account, so you’ll need to start there. 

*You can create up to 10 test accounts per developer account.

Developer account API keys

Your developer API key is used to manage HubSpot app settings through the API. This includes managing subscriptions for the Webhooks API, creating or updating event types for the timeline events feature, or updating settings for the Ecommerce Bridge.

Developer API keys can only be used for making API calls to update an app's settings, as mentioned above. All other API calls need to be made using an account’s unique API key (which is distinct from the developer API key) or through an OAuth connection.

Get your developer API key by clicking the "Get HubSpot API key" button at the top of the Apps dashboard in your developer account:


This will open a modal showing your developer API key and user ID. (For additional security, you will need to click “Show key.”)

If your developer API key is compromised, you can deactivate it and generate a new one using the “Regenerate key” button.


App ID

Your app ID can be found in two places.

Below the name of your app in the Apps dashboard of your developer account:

Screen Shot 2020-01-15 at 2Or in your app’s Auth Settings:


Monitoring app behavior

HubSpot logs all requests made to or from a connected app, including incoming requests using an OAuth access token or outgoing requests for webhooks or CRM cards. 


App monitoring tools:

To view this request log, go to your app’s settings page and click “Monitoring” in the left sidebar. Each request type has its own section and can be filtered using the dropdown menu options.


Getting request details:

Click on an individual request to get more information about it. Successful requests will only show the basics, but errors will have additional details. 


API calls:

The API call log will list all requests made to your app using an OAuth access token. It can be filtered by HTTP method, response code, timeframe, or request URL.



The Webhooks tab shows HubSpot requests for any of your app’s webhook subscriptions. Filter by response (including timeouts and connection failures), status (success, will retry, or failure), subscription type, time frame, attempt, batch, event, or account ID. Note: The attempt ID would be a combination of the subscriptionId, eventId, and attemptNumber from a specific request.


CRM extensions:

You’ll find HubSpot requests for your app’s CRM cards in the CRM extensions tab. Filter by extension object type, CRM object type (contact, company, ticket, or deal), error or warning type, time frame, request ID, or CRM object ID (i.e. a specific contact ID).


Related docs

Creating and installing apps

Create a developer account

Create a test account