Supaglue Hubspot API

Hubspot is a CRM Provider.

Operations 2

GET /hubspot/contacts List contacts #
GET /hubspot/companies List companies #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/supaglue-hubspot-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

supaglue-hubspot-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 0.13.13
  title: Data Listing Hubspot API
  contact:
    name: Supaglue
    email: docs@supaglue.com
    url: https://supaglue.com
  description: '#### Introduction


    Welcome to the Provider API documentation for Data Listing. You can use this API to list standard and custom objects to sync them from Supaglue to your database.


    :::info

    **NOTE**: To use the Data Listing API you need to use the Supaglue Managed Destination and select [Standard Objects](https://docs.supaglue.com/next/platform/objects/overview#configuration) to be synced.

    :::


    [![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/supaglue/workspace/supaglue-public/overview)


    #### Base API URL

    ```

    https://api.supaglue.io/data/v2

    ```

    '
servers:
- url: https://api.supaglue.io/data/v2
  description: Supaglue API
tags:
- name: Hubspot
  description: Hubspot is a CRM Provider.
paths:
  /hubspot/contacts:
    parameters:
    - $ref: '#/components/parameters/x-customer-id'
    get:
      operationId: listHubspotContacts
      summary: List contacts
      description: '**NOTE**: To use the Data Listing API you need to use the Supaglue Managed Destination and select [Standard Objects](https://docs.supaglue.com/next/platform/objects/overview#configuration) to be synced.

        '
      tags:
      - Hubspot
      security:
      - x-api-key: []
      parameters:
      - $ref: '#/components/parameters/modified_after'
      - $ref: '#/components/parameters/page_size'
      - $ref: '#/components/parameters/cursor'
      responses:
        '200':
          description: Contacts
          content:
            application/json:
              schema:
                type: object
                properties:
                  pagination:
                    $ref: '#/components/schemas/pagination'
                  records:
                    type: array
                    items:
                      $ref: '#/components/schemas/hubspot_contact'
                required:
                - pagination
                - records
        '400':
          $ref: '#/components/responses/badRequest'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '499':
          $ref: '#/components/responses/remoteProviderError'
        '500':
          $ref: '#/components/responses/internalServerError'
        '501':
          $ref: '#/components/responses/notImplemented'
  /hubspot/companies:
    parameters:
    - $ref: '#/components/parameters/x-customer-id'
    get:
      operationId: listHubspotCompanies
      summary: List companies
      description: '**NOTE**: To use the Data Listing API you need to use the Supaglue Managed Destination and select [Standard Objects](https://docs.supaglue.com/next/platform/objects/overview#configuration) to be synced.

        '
      tags:
      - Hubspot
      security:
      - x-api-key: []
      parameters:
      - $ref: '#/components/parameters/modified_after'
      - $ref: '#/components/parameters/page_size'
      - $ref: '#/components/parameters/cursor'
      responses:
        '200':
          description: Companies
          content:
            application/json:
              schema:
                type: object
                properties:
                  pagination:
                    $ref: '#/components/schemas/pagination'
                  records:
                    type: array
                    items:
                      $ref: '#/components/schemas/hubspot_company'
                required:
                - pagination
                - records
        '400':
          $ref: '#/components/responses/badRequest'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '499':
          $ref: '#/components/responses/remoteProviderError'
        '500':
          $ref: '#/components/responses/internalServerError'
        '501':
          $ref: '#/components/responses/notImplemented'
components:
  schemas:
    errors:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            description: A unique identifier for the instance of the error. Provide this to support when contacting Supaglue.
            example: 9366efb4-8fb1-4a28-bfb0-8d6f9cc6b5c5
          detail:
            type: string
            description: A detailed description of the error.
            example: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]'
          problem_type:
            type: string
            description: The Supaglue error code associated with the error.
            example: MISSING_REQUIRED_FIELD
            deprecated: true
          title:
            type: string
            description: A brief description of the error. The schema and type of message will vary by Provider.
            example: 'Property values were not valid

              '
          code:
            type: string
            description: The Supaglue error code associated with the error.
            example: MISSING_REQUIRED_FIELD
          status:
            type: string
            description: The HTTP status code associated with the error.
            example: '400'
          meta:
            type: object
            description: Additional metadata about the error.
            properties:
              cause:
                type: object
                description: The cause of the error. Usually the underlying error from the remote Provider.
                example:
                  code: 400
                  body:
                    status: error
                    message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]'
                    correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
                    category: VALIDATION_ERROR
                  headers:
                    access-control-allow-credentials: 'false'
                    cf-cache-status: DYNAMIC
                    cf-ray: 8053d17b9dae9664-SJC
                    connection: close
                    content-length: '361'
                    content-type: application/json;charset=utf-8
                    date: Mon, 11 Sep 2023 23:51:22 GMT
                    nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
                    report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}'
                    server: cloudflare
                    strict-transport-security: max-age=31536000; includeSubDomains; preload
                    vary: origin, Accept-Encoding
                    x-content-type-options: nosniff
                    x-envoy-upstream-service-time: '91'
                    x-evy-trace-listener: listener_https
                    x-evy-trace-route-configuration: listener_https/all
                    x-evy-trace-route-service-name: envoyset-translator
                    x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2
                    x-evy-trace-virtual-host: all
                    x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
                    x-hubspot-ratelimit-interval-milliseconds: '10000'
                    x-hubspot-ratelimit-max: '100'
                    x-hubspot-ratelimit-remaining: '99'
                    x-hubspot-ratelimit-secondly: '10'
                    x-hubspot-ratelimit-secondly-remaining: '9'
                    x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
                    x-trace: 2B1B4386362759B6A4C34802AD168B803DDC1BE770000000000000000000
              origin:
                type: string
                enum:
                - remote-provider
                - supaglue
                description: The origin of the error.
                example: remote-provider
              application_name:
                type: string
                description: The name of the application that generated the error.
                example: MyCompany Production
            required:
            - origin
            additionalProperties: true
        required:
        - id
        - detail
        - problem_type
        - title
        - code
        - status
        - meta
        example:
        - meta:
            cause:
              code: 400
              body:
                status: error
                message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]'
                correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
                category: VALIDATION_ERROR
              headers:
                access-control-allow-credentials: 'false'
                cf-cache-status: DYNAMIC
                cf-ray: 8053d17b9dae9664-SJC
                connection: close
                content-length: '361'
                content-type: application/json;charset=utf-8
                date: Mon, 11 Sep 2023 23:51:22 GMT
                nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
                report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}'
                server: cloudflare
                strict-transport-security: max-age=31536000; includeSubDomains; preload
                vary: origin, Accept-Encoding
                x-content-type-options: nosniff
                x-envoy-upstream-service-time: '91'
                x-evy-trace-listener: listener_https
                x-evy-trace-route-configuration: listener_https/all
                x-evy-trace-route-service-name: envoyset-translator
                x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2
                x-evy-trace-virtual-host: all
                x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
                x-hubspot-ratelimit-interval-milliseconds: '10000'
                x-hubspot-ratelimit-max: '100'
                x-hubspot-ratelimit-remaining: '99'
                x-hubspot-ratelimit-secondly: '10'
                x-hubspot-ratelimit-secondly-remaining: '9'
                x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
                x-trace: 2B1B4386362759B6A4C34802AD168B803DDC1BE770000000000000000000
          detail: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]'
          problem_type: MISSING_REQUIRED_FIELD
          title: 'Property values were not valid

            '
          code: MISSING_REQUIRED_FIELD
          status: '400'
          id: 9366efb4-8fb1-4a28-bfb0-8d6f9cc6b5c5
    hubspot_company:
      type: object
      properties:
        id:
          type: string
          example: '101'
          description: the unique identifier for the company. This field is set automatically and cannot be edited. This can be used when updating companies through importing or through API.
        description:
          type:
          - string
          - 'null'
          example: Open-source developer platform for customer-facing integrations
          description: a short statement about the company's mission and goals.
        city:
          type:
          - string
          - 'null'
          example: San Francisco
          description: the city where the company is located.
        country:
          type:
          - string
          - 'null'
          example: United States
          description: the country where the company is located.
        zip:
          type:
          - string
          - 'null'
          example: '94025'
          description: postal or zip code for the company.
        state:
          type:
          - string
          - 'null'
          example: CA
          description: the state or region where the company is located.
        address:
          type:
          - string
          - 'null'
          example: 525 Brannan St
          description: the street address of the company.
        phone:
          type:
          - string
          - 'null'
          example: (650) 450-8810
          description: the company's primary phone number.
        industry:
          type:
          - string
          - 'null'
          example: COMPUTER SOFTWARE
          description: the type of business the company performs. By default, this property has approximately 150 pre-defined options to select from. These options cannot be deleted, as they are used by HubSpot Insights, but you can add new custom options to meet your needs.
        name:
          type:
          - string
          - 'null'
          example: Supaglue
          description: the name of the company.
        numberofemployees:
          type:
          - string
          - 'null'
          example: '3000'
          description: total number of people who work for the company.
        hubspot_owner_id:
          type:
          - string
          - 'null'
          example: '101'
          description: the HubSpot user that the company is assigned to. You can assign additional users to a company record by creating a custom HubSpot user property.
        domain:
          type:
          - string
          - 'null'
          example: uos.com.sg
          description: the company's website domain. HubSpot Insights uses this domain to provide you with basic information about the company. Every property marked with an asterisk (*) can be populated automatically by HubSpot Insights once the domain name is populated.
        website:
          type:
          - string
          - 'null'
          example: http://www.uos.com.sg
          description: the company's web address. Filling in this property will also fill in Company domain name.
        is_deleted:
          type: boolean
          example: false
          description: ''
        createdate:
          type: string
          format: date-time
          example: '2023-08-01T20:58:17.725Z'
          description: the date the company was added to your account.
        notes_last_updated:
          type: string
          format: date-time
          example: '2023-08-01T20:58:17.725Z'
          description: the last date and time a note, call, tracked and logged sales email, meeting, LinkedIn/SMS/WhatsApp message, task, or chat was logged on the company record. This is set automatically by HubSpot based on the most recent date/time set for an activity. For example, if a user logs a call and indicates that it occurred the day before, the Last activity date property will show yesterday's date.
        raw_data:
          type: object
          description: The raw data returned by the provider.
          additionalProperties: true
      required:
      - id
      - description
      - hubspot_owner_id
      - city
      - country
      - zip
      - state
      - address
      - phone
      - fax
      - industry
      - name
      - numberofemployees
      - website
      - domain
      - is_deleted
      - createdate
      - notes_last_updated
      - raw_data
    hubspot_contact:
      type: object
      properties:
        id:
          type: string
          example: '501'
          description: the unique identifier for the contact. This field is set automatically and cannot be edited. This can be used when updating contacts through importing or through API.
        email:
          type:
          - string
          - 'null'
          example: team@supaglue.com
          description: the contact's primary email address.
        associatedcompanyid:
          type:
          - string
          - 'null'
          example: '101'
          description: ''
        firstname:
          type:
          - string
          - 'null'
          example: Jane
          description: the contact's first name.
        phone:
          type:
          - string
          - 'null'
          example: (650) 450-8812
          description: the contact's primary phone number. The phone number is validated and formatted automatically by HubSpot based on the country code. You can select to turn off automatic formatting on a contact record, either when editing the Phone number property, or adding a phone number to call.
        is_deleted:
          type: boolean
          example: false
          description: Indicates whether the object has been moved to the Recycle Bin (true) or not (false).
        lastname:
          type:
          - string
          - 'null'
          example: Doe
          description: the contact's last name.
        city:
          type:
          - string
          - 'null'
          example: Palo Alto
          description: the contact's city of residence.
        country:
          type:
          - string
          - 'null'
          example: United States
          description: the contact's country of residence. This might be set via import, form, or integration.
        zip:
          type:
          - string
          - 'null'
          example: '94303'
          description: the contact's zip code.
        state:
          type:
          - string
          - 'null'
          example: CA
          description: the contact's state of residence.
        address:
          type:
          - string
          - 'null'
          example: 4 Giro's Passage
          description: 'the contact''s street address, including apartment or unit #.'
        mobilephone:
          type:
          - string
          - 'null'
          example: (650) 450-8811
          description: the contact's mobile phone number. The phone number is validated and formatted automatically by HubSpot based on the country code. You can select to turn off automatic formatting on a contact record, either when editing the Mobile phone number property, or adding a phone number to call.
        hubspot_owner_id:
          type:
          - string
          - 'null'
          example: '1450461'
          description: the owner of the contact. This can be any HubSpot user or Salesforce integration user and can be set manually or via Workflows. You can assign additional users to the contact record by creating a custom HubSpot user field type property.
        fax:
          type:
          - string
          - 'null'
          example: (650) 450-8810
          description: the contact's primary fax number.
        jobtitle:
          type:
          - string
          - 'null'
          example: CEO
          description: the contact's job title.
        createdate:
          type: string
          format: date-time
          example: '2023-08-01T20:58:17.725Z'
          description: the date that the contact was created in your HubSpot account.
        notes_last_updated:
          type: string
          format: date-time
          example: '2023-08-01T20:58:17.725Z'
          description: the last date and time a note, call, tracked and logged sales email, meeting, LinkedIn/SMS/WhatsApp message, task, or chat was logged on the contact record. This is set automatically by HubSpot based on the most recent date/time set for an activity. For example, if a user logs a call and indicates that it occurred the day before, the Last activity date property will show yesterday's date.
        raw_data:
          type: object
          description: The raw data returned by the provider.
          additionalProperties: true
      required:
      - id
      - email
      - associatedcompanyid
      - firstname
      - phone
      - is_deleted
      - lastname
      - city
      - country
      - zip
      - state
      - address
      - mobilephone
      - hubspot_owner_id
      - fax
      - jobtitle
      - createdate
      - notes_last_updated
      - raw_data
    pagination:
      type: object
      properties:
        next:
          type:
          - string
          - 'null'
          example: eyJpZCI6IjQyNTc5ZjczLTg1MjQtNDU3MC05YjY3LWVjYmQ3MDJjNmIxNCIsInJldmVyc2UiOmZhbHNlfQ==
        previous:
          type:
          - string
          - 'null'
          example: eyJpZCI6IjBjZDhmYmZkLWU5NmQtNDEwZC05ZjQxLWIwMjU1YjdmNGI4NyIsInJldmVyc2UiOnRydWV9
        total_count:
          type: number
          example: 100
      required:
      - next
      - previous
  parameters:
    page_size:
      name: page_size
      in: query
      schema:
        type: string
      example: 123
      description: 'Number of results to return per page. (Max: 1000)'
    modified_after:
      name: modified_after
      in: query
      schema:
        type: string
        format: date-time
      description: If provided, will only return objects modified after this datetime. Datetime must be in ISO 8601 format and URI encoded.
      example: '2023-02-23T00:00:00Z'
    cursor:
      name: cursor
      in: query
      schema:
        type: string
      example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw
      description: The pagination cursor value
    x-customer-id:
      name: x-customer-id
      in: header
      schema:
        type: string
      example: my-customer-1
      description: The customer ID that uniquely identifies the customer in your application
      required: true
  responses:
    remoteProviderError:
      description: Remote provider error
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                $ref: '#/components/schemas/errors'
    unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                $ref: '#/components/schemas/errors'
    notImplemented:
      description: Not implemented
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                $ref: '#/components/schemas/errors'
    badRequest:
      description: Bad request
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                $ref: '#/components/schemas/errors'
    notFound:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                $ref: '#/components/schemas/errors'
    forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                $ref: '#/components/schemas/errors'
    internalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                $ref: '#/components/schemas/errors'
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
      description: API key to allow developers to access the API