---
title: HubSpot Integration (API)
slug: hubspot-integration-api
docTags: 
createdAt: 2024-02-10T23:02:30.453Z
---

:::hint{type="success"}
SourceForge integrates with HubSpot via our [Buyer Intent API](docId\:PwkqfRfnIJuaE3QDL3Vr1) so that you can push your Buyer Intent data to HubSpot.

*The SourceForge Buyer Intent API is available to [SourceForge Amplify](https://sourceforge.net/software/vendors/pricing/) customers and above.*
:::

# Integrating SourceForge Intent Data into HubSpot CRM

This guide provides a step-by-step walkthrough on how to obtain your Business Software Listing ID `(bsl_id)` and authenticate with the SourceForge API. With this information, you can integrate intent data from SourceForge into HubSpot.

## Table of Contents

1. Overview
2. Prerequisites
3. Step-by-Step Guide
   - 1\. Obtain API Tokens
   - 2\. Obtain Your `bsl_id`
     - Retrieve Your `bsl_id`
   - 3\. Authenticating with the SourceForge API
   - 4\. Integrating Intent Data into Your CRM

## Overview

::loom{url="https://www.loom.com/embed/3e3febfa2be540a1a8982e37c6d25d3e"}

Integrating intent data from SourceForge allows you to enrich your CRM's object records with valuable insights into buyer behavior. This integration will enable you to:

- Fetch buyer intent data from SourceForge.
- Update corresponding company records in your CRM.
- Enhance your sales and marketing strategies based on actionable data.

## Prerequisites

- Access to your **SourceForge** account as an admin.
- Basic knowledge of API usage and authentication.
- Admin access and familiarity with your CRM's data import and API capabilities.
- Have a plan.  Our suggested first step for intent data is to fetch all the intent data from sourceforge, check it against the domains in your CRM and if they exist, update some properties in your CRM for those companies. We suggest doing this first before creating new accounts in your CRM using intent data as that has a risk of creating duplicate accounts if you are not careful. It can still be a great thing to do, but start with a simple match and update first before attempting to create missing companies.

## Step-by-Step Guide

We suggest watching these 2 videos before diving into the guide.

::loom{url="https://www.loom.com/embed/d174a1f457ed4d1683e232c161061ea0"}

::loom{url="https://www.loom.com/embed/3d29599b0eae4b35afa01aeea5c3cb29"}

::google-sheets{url="https://docs.google.com/spreadsheets/d/1qimcWYdY1kzeFzzmg5_L0CCncr4DioLDx678u3yldAY/edit?gid=0#gid=0"}

## 1. Obtain API Tokens

**a. Obtain SourceForge Bearer Token**

::loom{url="https://www.loom.com/embed/841df925f75a4e2b8badfd9c06641082"}

1. **Navigate to the SourceForge OAuth Setup Page:**
   - Go to[ SourceForge OAuth Setup](https://sourceforge.net/auth/oauth/).
2. **Register a New Application:**
   - Provide the necessary details to register a new application.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeo9PlMFC6bvIUG3922Qp2XIZqqZxmmmysUHQU06e9evuu1CwDw3H08J42y2RFQki95ftNpaiDeI5rEPRctdrbnQPsAqW69bGaQSbK5faRg3MDcF2tpNXFta2H3Li_Mq8LkBSN8?key=Wevk5dy5Chkal8e8Y0Qj859c)

**3. Generate Bearer Token:**

- After registering, click on **Generate Bearer Token**.
- A new entry in the **Authorized Applications** section will be created. You can find this near the top of the page under the “Authorized Applications” section. 
- **Copy the Bearer Token:**
  - Locate the **Bearer Token** field near the top of the page. 
  - Copy the token provided.
- This token will be your `SOURCEFORGE_BEARER_TOKEN`.

## 2. Obtain Your `bsl_id`

::loom{url="https://www.loom.com/embed/db130852c61d4f0f82f9975f19036d93"}

Before integrating intent data, you need to obtain your Business Software Listing ID (bsl\_id) You can either make requests via Postman or cURL or use the documentation links provided which allow for requests via the browser.

a. **Retrieve Your `bsl_id`**

1. **Access the SourceForge BSLs API Documentation:**
   - Visit the[ SourceForge BSLs API documentation](https://docs.sourceforge.net/lists-business-software-listings-bsls).
   - Paste your bearer token into the barer auth field, then above it click “Try it” button. 
   - Your information will populate in the “Responses” section in the bottom right of the screen.&#x20;

**Retrieve Your `bsl_id`:**

- The response will include a list of your Business Software Listings.
- Locate your BSL in the response and note the bsl\_id associated with it.
- **Example Response:**

```json
{
  "data": [
    {
      "id": 3063181,
      "shortname": "demo.s",
      "name": "Passport",
      "other_fields": "..."
    }
  ]
}
```

In this example, your `bsl_id` is `3063181`.

## 3. Authenticating with the SourceForge API

::loom{url="https://www.loom.com/embed/04e6f94afa384d4caa555f985385d581"}

Here is the [Buyer Intent Activity Doc](https://docs.sourceforge.net/lists-buyer-intent-activity).

Authentication is necessary to make API requests to SourceForge. Here's an example request via CURL

1. **Example of an Authenticated API Request:**

```curl
curl -G -H "Authorization: Bearer YOUR_SOURCEFORGE_BEARER_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
--data-urlencode "bsl_id=YOUR_BSL_ID" \
--data-urlencode "date_from=2023-01-01" \
--data-urlencode "date_to=2023-01-31" \
https://sourceforge.net/rest/p/sfapi/v1/activities
```

## 4. Integrating Intent Data into Your CRM

Once you have your `bsl_id` and can authenticate with the SourceForge API, you can begin integrating the intent data into your CRM.

**Steps:**

1. **Fetch Buyer Intent Data:**
   - Use the `/activities` endpoint to retrieve buyer intent data.
   - Ensure you provide necessary parameters like `bsl_id`, `date_from`, and `date_to`.
2. **Understand the Data Structure:**
   - The response will include data about companies, visitors, activities, etc.

### Example Activity Data

```json
{
  "data": [
    {
      "visitor": {
        "country": "United States",
        "city": "Mission",
        "functional_area": null,
        "region": "Texas",
        "visitor_id": "7d07c9ec-81e3-4c5a-9002-f04356808f2a"
      },
      "activities": [
        {
          "activity_id": 85301199,
          "target": "competitor",
          "type": "comparison",
          "action": "view",
          "url": "https://slashdot.org/software/comparison/Microsoft-Teams-vs-YuJa-vs-Zoom-Video-Conferencing/",
          "count": 2,
          "date": "2024-12-02",
          "site_visited": "Slashdot.org"
        }
      ],
      "company": {
        "name": "UTRGV - The University of Texas Rio Grande Valley",
        "domain": "utrgv.edu",
        "country": "United States",
        "company_size": "Large (1,000 - 4,999 Employees)",
        "headquarters": "USA, Brownsville",
        "industry": "Education > Colleges & Universities",
        "revenue": "XLarge ($200MM-$1B)",
        "linkedin": "https://www.linkedin.com/company/4815498",
        "hq_country_code": "US",
        "hq_city": "Brownsville",
        "hq_postal_code": null
      }
    },
  }
```

