Method Details
HTTP Methods:
POST
Content Type:
application/json
Response Format:
json
Requires Authentication?
No
Rate Limited?
Headers
Products:
Marketing
This endpoint is used to send form submission data to HubSpot. Form submissions from external sources can be sent to any regular HubSpot form. A list of forms in your account can be found by navigating to Marketing > Lead Capture > Forms. This endpoint should not be used with non-HubSpot forms. When reviewing your forms, any non-HubSpot form will display a Non-HubSpot form label.
To accurately track submissions from your external form, we recommend creating a new form in HubSpot to parallel your custom website form.
If you're searching for the legacy x-www-form-urlencoded
endpoint, you can find the details for that endpoint here instead.
Before you get started
Please take note of the following:
- This endpoint has a rate limit of 50 requests per 10 seconds.
- When using this endpoint to integrate custom forms with HubSpot, keep in mind that the available endpoints do not log any API calls. Users will need to store their own logs.
- In addition to accepting server-side HTTP requests, this endpoint will accept cross-origin AJAX (CORS) requests, allowing you to submit form data directly to HubSpot client-side using JavaScript.
- The fields in the form must correspond to existing contact properties in your HubSpot account. Learn more about how to create new contact properties. You can also view the Contacts API and Contact Properties API documentation for more details.
- When backdating a form submission's submittedAt timestamp value, the contact's Original Source value may be affected if the contact's first page view is after the submittedAt timestamp value.
- This endpoint does not support reCAPTCHA. If reCAPTCHA has been enabled on the form, submissions will not be accepted.
-
As this API is not authenticated, it is necessary to list the submitted form fields in the definition beforehand. This can be configured in the editor or via the API. Failing to do so will result in a FIELD_NOT_IN_FORM_DEFINITION error. To resolve this error, please try the following:
- Use the Submit data to a form (Supporting Authentication) API instead.
- Stop sending this field in the submission
- Add this field to the form definition