# Hubspot Marketplace Scraper (`parseforge/hubspot-marketplace-scraper`) Actor

Supercharge your HubSpot app research with our comprehensive HubSpot Marketplace scraper! Automate daily collection of detailed app data with advanced filtering capabilities. Get complete app information, pricing, vendor details, and technical specifications from the official HubSpot App Marketplace

- **URL**: https://apify.com/parseforge/hubspot-marketplace-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Automation, Developer tools, Lead generation
- **Stats:** 27 total users, 1 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🧩 HubSpot Marketplace Scraper

> 🚀 **Export the HubSpot App Marketplace in minutes.** Pull **1,500+ integrations, agents, and templates** with pricing tiers, vendor contact details, ratings, screenshots, and certification status. No API key, no OAuth, no manual CSV exports.

> 🕒 **Last updated:** 2026-04-23 · **📊 60 fields** per app · **🔌 1,500+ integrations** · **⭐ Ratings & reviews** · **💰 Pricing tiers** · **🚫 No auth** required

The **HubSpot Marketplace Scraper** queries the official HubSpot App Marketplace and returns **60 structured fields per app**, including the full description, feature list, category, pricing model, trial availability, vendor contact details, certification status, screenshots, videos, supported languages, and marketplace URL. The catalog covers every public listing across 16 categories, from CRM and sales tools down to niche video, storage, and event-management integrations.

The marketplace hosts **1,500+ active apps, integrations, agents, and templates** from independent vendors, agencies, and HubSpot itself. This Actor filters them server-side by category, pricing type, product type, certification, or Breeze compatibility, and hands you the full record set as CSV, Excel, JSON, or XML.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| HubSpot consultants, CRM vendors, integration developers, sales and marketing teams evaluating tools, market researchers | Competitor analysis, vendor shortlisting, partner lead generation, pricing benchmarks, integration discovery, AEO enrichment |

---

### 📋 What the HubSpot Marketplace Scraper does

Five filtering workflows in a single run:

- 🔍 **Keyword search.** Match apps by name or description (e.g. marketing, calendar, analytics).
- 🏷️ **Category filter.** Pick from 16 marketplace categories like CRM, SALES, ADVERTISING, ANALYTICS, or INTEGRATIONS.
- 💰 **Pricing filter.** Narrow to FREE, PAID, FREEMIUM, TRIAL, METERED, or CONTACT_FOR_PRICING.
- 🤖 **Product-type filter.** Split APP, AGENT, INTEGRATION, or TEMPLATE listings.
- ✅ **Quality filters.** Restrict to HubSpot-certified apps, apps built by HubSpot, or Breeze-compatible tools.

Each record includes identifiers, descriptions, features, vendor contact fields, pricing model and tagline, trial length, support and documentation URLs, screenshots, social handles, and the canonical marketplace URL.

> 💡 **Why it matters:** the HubSpot ecosystem drives partner revenue and CRM adoption. Scanning it manually means clicking through paginated tiles and vendor pages. This Actor gives you the full directory as a structured dataset on every run.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td>searchQuery</td><td>string</td><td>""</td><td>Keyword to match against app name and description. Empty returns all apps.</td></tr>
<tr><td>categories</td><td>string[]</td><td>[]</td><td>One or more of 16 categories (CRM, SALES, MARKETING, ANALYTICS, etc.).</td></tr>
<tr><td>pricingTypes</td><td>string[]</td><td>[]</td><td>FREE, PAID, FREEMIUM, TRIAL, METERED, CONTACT_FOR_PRICING.</td></tr>
<tr><td>productTypes</td><td>string[]</td><td>[]</td><td>APP, AGENT, INTEGRATION, or TEMPLATE.</td></tr>
<tr><td>certified</td><td>string</td><td>"ALL"</td><td>Restrict to HubSpot-certified apps only.</td></tr>
<tr><td>builtByHubSpot</td><td>string</td><td>"ALL"</td><td>Restrict to apps built by HubSpot.</td></tr>
<tr><td>worksWithBreeze</td><td>string</td><td>"ALL"</td><td>Restrict to apps compatible with HubSpot Breeze.</td></tr>
<tr><td>agentTypes</td><td>string[]</td><td>[]</td><td>For AGENT listings: STUDIO, CUSTOM, THIRD_PARTY.</td></tr>
<tr><td>agentTeams</td><td>string[]</td><td>[]</td><td>For AGENT listings: SALES, MARKETING, SERVICE, OPERATIONS, GENERAL.</td></tr>
<tr><td>maxItems</td><td>integer</td><td>10</td><td>Records to return. Free plan caps at 50, paid plan at 1,000,000.</td></tr>
</tbody>
</table>

**Example: 100 certified CRM apps with free trials.**

```json
{
    "maxItems": 100,
    "categories": ["CRM"],
    "pricingTypes": ["FREEMIUM", "TRIAL"],
    "certified": "true"
}
````

**Example: all sales agents built for the Sales team.**

```json
{
    "maxItems": 50,
    "productTypes": ["AGENT"],
    "agentTeams": ["SALES"]
}
```

> ⚠️ **Good to Know:** some vendor fields (contact phone, live chat URL, case study URL) are optional and may be null for smaller listings. Certified and enterprise vendors populate the richest records.

***

### 📊 Output

Each app record contains **60 fields**. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema (selected fields)

| Field | Type | Example |
|---|---|---|
| 🆔 id | string | `"123456"` |
| 🏷️ name | string | `"Mailchimp"` |
| 🏢 vendor\_name | string | `"Intuit Mailchimp"` |
| 📝 description | string | `"Sync contacts and campaigns..."` |
| 🗂️ category | string | `"MARKETING"` |
| 💰 pricing | string | `"FREEMIUM"` |
| 💵 monthly\_pricing | string | null | `"$13/mo"` |
| 💵 annual\_pricing | string | null | `"$156/yr"` |
| 💵 enterprise\_pricing | string | null | `"Contact Sales"` |
| ⏳ pricing\_free\_trial\_days | number | null | `14` |
| 📈 installs\_count | number | null | `125000` |
| ✅ hubspot\_certified | boolean | null | true |
| 🗓️ certified\_at | ISO 8601 | null | `"2024-08-01T00:00:00Z"` |
| 🧩 features | string\[] | null | `["Contact sync", "Campaigns"]` |
| 🔗 integrations | string\[] | null | `["Gmail", "Shopify"]` |
| 🌐 languages\_supported | string\[] | null | `["en", "es", "fr"]` |
| 🖼️ screenshots | string\[] | null | `["https://..."]` |
| 🎞️ videos | string\[] | null | `["https://..."]` |
| ✉️ support\_email | string | null | `"support@mailchimp.com"` |
| ☎️ support\_phone | string | null | `"+1-800-..."` |
| 🔗 website\_url | string | null | `"https://mailchimp.com"` |
| 📚 documentation\_url | string | null | `"https://..."` |
| 🛒 install\_url | string | null | `"https://..."` |
| 🏪 marketplace\_url | string | `"https://ecosystem.hubspot.com/..."` |
| 🕒 scrapedTimestamp | ISO 8601 | `"2026-04-21T00:00:00.000Z"` |

An additional 35 fields cover contact details (names, emails, phones, roles), feature breakdowns (names, descriptions, images), connection type, shared objects and directions, social URLs, agency pricing URL, meetings URL, partner portal ID, and all supported languages.

#### 📦 Sample records

<details>
<summary><strong>🧩 Certified integration: full vendor profile</strong></summary>

```json
{
    "id": "123456",
    "name": "Mailchimp",
    "title": "Mailchimp for HubSpot",
    "description": "Sync your HubSpot contacts with Mailchimp audiences and trigger campaigns from workflows.",
    "category": "MARKETING",
    "pricing": "FREEMIUM",
    "monthly_pricing": "$13/mo",
    "annual_pricing": "$156/yr",
    "enterprise_pricing": null,
    "pricing_free_trial_days": 14,
    "installs_count": 125000,
    "hubspot_certified": true,
    "certified_at": "2024-08-01T00:00:00Z",
    "vendor_name": "Intuit Mailchimp",
    "features": ["Contact sync", "Campaign triggers", "List segmentation"],
    "integrations": ["Gmail", "Shopify", "WooCommerce"],
    "languages_supported": ["en", "es", "fr", "de"],
    "screenshots": ["https://cdn.hubspot.com/screenshot1.png"],
    "videos": ["https://youtu.be/demo"],
    "support_email": "support@mailchimp.com",
    "website_url": "https://mailchimp.com",
    "documentation_url": "https://mailchimp.com/help/hubspot",
    "install_url": "https://app.hubspot.com/ecosystem/install/mailchimp",
    "marketplace_url": "https://ecosystem.hubspot.com/marketplace/apps/mailchimp",
    "scrapedTimestamp": "2026-04-21T00:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🤖 Sales agent listing</strong></summary>

```json
{
    "id": "789012",
    "name": "Prospecting Agent",
    "title": "Breeze Prospecting Agent",
    "description": "An AI agent that researches and contacts prospects automatically.",
    "category": "SALES",
    "pricing": "PAID",
    "monthly_pricing": "$50/seat/mo",
    "annual_pricing": null,
    "hubspot_certified": true,
    "vendor_name": "HubSpot",
    "features": ["Prospect research", "Outreach drafting", "Meeting booking"],
    "integrations": ["Sales Hub", "Meetings"],
    "marketplace_url": "https://ecosystem.hubspot.com/marketplace/agents/prospecting-agent",
    "scrapedTimestamp": "2026-04-21T00:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🆓 Free community app</strong></summary>

```json
{
    "id": "345678",
    "name": "PDF Generator",
    "title": "PDF Generator for HubSpot",
    "description": "Generate branded PDFs from HubSpot contact and deal properties.",
    "category": "PRODUCTIVITY",
    "pricing": "FREE",
    "monthly_pricing": null,
    "hubspot_certified": false,
    "vendor_name": "OpenWorks Labs",
    "features": ["Template editor", "Merge fields", "Direct download"],
    "support_email": "hello@openworks.dev",
    "website_url": "https://openworks.dev",
    "marketplace_url": "https://ecosystem.hubspot.com/marketplace/apps/pdf-generator",
    "scrapedTimestamp": "2026-04-21T00:00:00.000Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 🧩 | **Full catalog.** 1,500+ apps, agents, integrations, and templates across 16 categories. |
| 💰 | **Pricing transparency.** Monthly, annual, and enterprise pricing plus free-trial length on every record. |
| 🎯 | **Multi-dimensional filters.** Stack category, pricing type, product type, certification, and Breeze compatibility in one run. |
| 📞 | **Vendor contact depth.** Emails, phones, names, roles, support and meetings URLs for lead generation. |
| ⚡ | **Fast.** 50 apps in under 30 seconds, 1,000 apps in under 10 minutes. |
| 🚫 | **No authentication.** The marketplace is public, no API key or login needed. |
| 🔁 | **Always fresh.** Every run hits the live marketplace, so new listings and price changes show up immediately. |

> 📊 Accurate marketplace data drives partner shortlists, competitive pricing analysis, and integration planning.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ HubSpot Marketplace Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **1,500+** apps | **Live per run** | category, pricing, product type, certification, Breeze | ⚡ 2 min |
| Manual browser collection | Free but slow | Whatever you click | Never | Manual copy-paste | 🐢 Days |
| HubSpot partner APIs | Gated, partner-only | Partner-scoped subset | Variable | Limited | ⏳ Application process |
| Generic web scrapers | Free to $$$ | Fragile selectors | Breaks on redesign | None built-in | 🕒 Engineering hours |

Pick this Actor when you want the full marketplace, vendor contact depth, and zero pipeline maintenance.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the HubSpot Marketplace Scraper page on the Apify Store.
3. 🎯 **Set input.** Pick a category, a pricing type, and a maxItems cap (or leave filters empty for everything).
4. 🚀 **Run it.** Click **Start** and let the Actor collect your data.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from sign-up to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 🤝 HubSpot Consultants & Agencies

- Shortlist certified integrations for a client stack
- Build partner directories filtered by category
- Track new app launches across the ecosystem
- Surface Breeze-compatible tools for AI engagements

</td>
<td width="50%" valign="top">

#### 🛠️ Integration Vendors & ISVs

- Map competitor pricing across FREEMIUM and PAID tiers
- Track certification cadence and category saturation
- Identify feature gaps vs. established apps
- Benchmark install counts and vendor positioning

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 💼 Sales & Marketing Teams

- Evaluate analytics, ad, and social apps side by side
- Collect vendor emails for procurement outreach
- Compare trial lengths and annual pricing at a glance
- Audit existing HubSpot stack against new listings

</td>
<td width="50%" valign="top">

#### 📊 Market Researchers & Analysts

- Measure category growth across quarters
- Build ecosystem maps of CRM-adjacent tooling
- Feed AEO and SEO projects with structured vendor data
- Enrich partner CRM records with screenshots and URLs

</td>
</tr>
</table>

***

***

### 🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Empirical datasets for papers, thesis work, and coursework
- Longitudinal studies tracking changes across snapshots
- Reproducible research with cited, versioned data pulls
- Classroom exercises on data analysis and ethical scraping

</td>
<td width="50%">

#### 🎨 Personal and creative

- Side projects, portfolio demos, and indie app launches
- Data visualizations, dashboards, and infographics
- Content research for bloggers, YouTubers, and podcasters
- Hobbyist collections and personal trackers

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Transparency reporting and accountability projects
- Advocacy campaigns backed by public-interest data
- Community-run databases for local issues
- Investigative journalism on public records

</td>
<td width="50%">

#### 🧪 Experimentation

- Prototype AI and machine-learning pipelines with real data
- Validate product-market hypotheses before engineering spend
- Train small domain-specific models on niche corpora
- Test dashboard concepts with live input

</td>
</tr>
</table>

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20Hubspot%20Marketplace%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20Hubspot%20Marketplace%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20Hubspot%20Marketplace%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20Hubspot%20Marketplace%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

### ❓ Frequently Asked Questions

<details>
<summary><b>💳 Do I need a paid Apify plan to run this actor?</b></summary>

No. You can start right now on the free Apify plan, which includes **$5 in free monthly credit**. That is enough to run this actor several times and explore the output before committing to anything. Paid plans unlock higher limits, more concurrent runs, and larger datasets. [Create a free Apify account here](https://console.apify.com/sign-up?fpr=vmoqkp) to get started.

</details>

<details>
<summary><b>🚨 What happens if my run fails or returns no results?</b></summary>

Failed runs are not charged. If the source site changes, proxies get rate-limited, or a specific input matches nothing, re-run the actor or open our [contact form](https://tally.so/r/BzdKgA) and we will investigate. You can also check the run log in the Apify console to see why the run stopped.

</details>

<details>
<summary><b>📏 How many items can I scrape per run?</b></summary>

Free users are limited to **10 items per run** so you can preview the output and confirm the actor works for your use case. Paid users can raise maxItems up to **1,000,000** per run. [Upgrade here](https://console.apify.com/sign-up?fpr=vmoqkp) if you need full scale.

</details>

<details>
<summary><b>🕒 How fresh is the data?</b></summary>

Every run fetches live data at the moment of execution. There is no cache or delay: the records you get reflect what the source returned at that moment. Schedule the actor to maintain a rolling snapshot of the data you need.

</details>

<details>
<summary><b>🧑‍💻 Can I call this actor from my own code?</b></summary>

Yes. Apify exposes every actor as a REST endpoint and ships first-class SDKs for [Node.js](https://docs.apify.com/sdk/js) and [Python](https://docs.apify.com/sdk/python). You can start a run, read the dataset, and handle webhooks from your own app in a few lines. All you need is your Apify API token.

</details>

<details>
<summary><b>📤 How do I export the data?</b></summary>

Every Apify dataset can be downloaded in one click from the console as CSV, JSON, JSONL, Excel, HTML, XML, or RSS. You can also pull results programmatically via the [Apify API](https://docs.apify.com/api/v2) or stream them into BigQuery, S3, and other destinations through built-in integrations.

</details>

<details>
<summary><b>📅 Can I schedule the actor to run automatically?</b></summary>

Yes. Use the Apify scheduler to run the actor on any cadence, from hourly to monthly. Results are saved to your dataset and can be delivered to webhooks, email, Slack, cloud storage, or automation tools such as Zapier and Make.

***

</details>

### 🔌 Automating HubSpot Marketplace Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the apify-client NPM package.
- 🐍 **Python.** Use the apify-client PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Daily or weekly refreshes keep downstream partner databases, price trackers, and BI dashboards in sync automatically.

### 🔌 Integrate with any app

HubSpot Marketplace Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe marketplace data into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

Webhooks can fire downstream actions when a run finishes, pushing fresh app data into your CRM, BI tool, or Slack channel.

***

### 🔗 Recommended Actors

- [**📱 Apps Scraper**](https://apify.com/parseforge/apps-scraper) - Cross-platform mobile app metadata
- [**🤖 Google Play Store Scraper**](https://apify.com/parseforge/google-play-store-scraper) - Android app listings, ratings, and reviews
- [**🍏 Apple App Store Iphone Scraper**](https://apify.com/parseforge/apple-app-store-iphone-scraper) - iOS app catalog with pricing and ratings
- [**🌊 Webflow Templates Marketplace Scraper**](https://apify.com/parseforge/webflow-templates-marketplace-scraper) - Designer templates with pricing and categories
- [**💳 Stripe Marketplace Scraper**](https://apify.com/parseforge/stripe-marketplace-scraper) - Stripe App Marketplace listings and vendor data

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more marketplace scrapers.

***

### How to enable MCP enrichment

Inside the input form, scroll to the **✨ Enrichment** section and follow these steps:

1. Toggle on the `Enrich Output` checkbox.
2. Pick a connector in the `Enrichment Connector` dropdown. If you don't have one yet, click the **+** button, paste the URL `https://mcp.apollo.io/mcp`, sign in with your Apollo.io account, and approve the OAuth request.
3. Run the actor. Every scraped item gets an extra `enrichment` object with the company profile: employee count, industry, LinkedIn URL, founding year, country, short description, funding total, and tech stack.

The enrichment is cached per unique company name, so multiple items from the same vendor cost only one Apollo credit. The single-company enrich endpoint is available on the Basic plan; the search-by-name fallback requires the Professional plan.

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by HubSpot, Inc. or any of its listed vendors. All trademarks mentioned are the property of their respective owners. Only publicly available marketplace data is collected.

# Actor input Schema

## `searchQuery` (type: `string`):

Enter a search term to find specific apps in the HubSpot Marketplace. Examples: 'marketing', 'calendar', 'email', 'CRM', 'analytics', 'advertising'.

## `categories` (type: `array`):

Select app categories to filter by (optional). Leave empty to include all categories.

## `pricingTypes` (type: `array`):

Select pricing types to filter by (optional). Leave empty to include all pricing types.

## `maxItems` (type: `integer`):

Free users: Required, maximum 50. Paid users: Optional, maximum 1,000,000. Leave empty for unlimited (paid users only).

## `productTypes` (type: `array`):

Filter by product types (optional). Leave empty to include all types.

## `worksWithBreeze` (type: `string`):

Filter apps that work with HubSpot Breeze (optional).

## `installed` (type: `string`):

Show only installed apps (optional).

## `agentTypes` (type: `array`):

Filter by agent types (for AGENT product type only).

## `agentTeams` (type: `array`):

Filter by agent teams (for AGENT product type only).

## `certified` (type: `string`):

Show only HubSpot certified apps (optional).

## `builtByHubSpot` (type: `string`):

Show only apps built by HubSpot (optional).

## `enrichOutput` (type: `boolean`):

Toggle on to add the app vendor's company profile (size, funding, industry, LinkedIn) to every app via Apollo.io. Default off — cached per unique vendor.

## `enrichConnector` (type: `string`):

Pick the Apollo.io connector. Click '+' to authorize if you haven't yet.

## `mcpProxyUrlOverride` (type: `string`):

Diagnostic only.

## `mcpTokenOverride` (type: `string`):

Diagnostic only.

## Actor input object example

```json
{
  "maxItems": 10,
  "worksWithBreeze": "ALL",
  "installed": "ALL",
  "certified": "ALL",
  "builtByHubSpot": "ALL",
  "enrichOutput": false
}
```

# Actor output Schema

## `apps` (type: `string`):

Complete dataset with all scraped HubSpot Marketplace apps including app information, pricing, descriptions, vendor details, and technical specifications

## `overview` (type: `string`):

Overview view of apps with key fields displayed in a table format

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/hubspot-marketplace-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/hubspot-marketplace-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10
}' |
apify call parseforge/hubspot-marketplace-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/hubspot-marketplace-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Hubspot Marketplace Scraper",
        "description": "Supercharge your HubSpot app research with our comprehensive HubSpot Marketplace scraper! Automate daily collection of detailed app data with advanced filtering capabilities. Get complete app information, pricing, vendor details, and technical specifications from the official HubSpot App Marketplace",
        "version": "2.1",
        "x-build-id": "Ye0241onIpQKh6SMo"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~hubspot-marketplace-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-hubspot-marketplace-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~hubspot-marketplace-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-hubspot-marketplace-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~hubspot-marketplace-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-hubspot-marketplace-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Enter a search term to find specific apps in the HubSpot Marketplace. Examples: 'marketing', 'calendar', 'email', 'CRM', 'analytics', 'advertising'."
                    },
                    "categories": {
                        "title": "App Categories",
                        "type": "array",
                        "description": "Select app categories to filter by (optional). Leave empty to include all categories.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "ADVERTISING",
                                "ANALYTICS",
                                "AUTOMATION",
                                "COMMUNICATIONS",
                                "CRM",
                                "EVENT_MANAGEMENT",
                                "INTEGRATIONS",
                                "MARKETING",
                                "PRODUCTIVITY",
                                "REPORTING",
                                "SALES",
                                "SCHEDULING",
                                "SERVICE",
                                "SOCIAL_MEDIA",
                                "STORAGE",
                                "VIDEO"
                            ]
                        }
                    },
                    "pricingTypes": {
                        "title": "Pricing Types",
                        "type": "array",
                        "description": "Select pricing types to filter by (optional). Leave empty to include all pricing types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "FREE",
                                "PAID",
                                "FREEMIUM",
                                "TRIAL",
                                "METERED",
                                "CONTACT_FOR_PRICING"
                            ]
                        }
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Required, maximum 50. Paid users: Optional, maximum 1,000,000. Leave empty for unlimited (paid users only)."
                    },
                    "productTypes": {
                        "title": "Product Types",
                        "type": "array",
                        "description": "Filter by product types (optional). Leave empty to include all types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "APP",
                                "AGENT",
                                "INTEGRATION",
                                "TEMPLATE"
                            ]
                        }
                    },
                    "worksWithBreeze": {
                        "title": "Works with Breeze",
                        "enum": [
                            "ALL",
                            "true",
                            "false"
                        ],
                        "type": "string",
                        "description": "Filter apps that work with HubSpot Breeze (optional).",
                        "default": "ALL"
                    },
                    "installed": {
                        "title": "Installed Only",
                        "enum": [
                            "ALL",
                            "true",
                            "false"
                        ],
                        "type": "string",
                        "description": "Show only installed apps (optional).",
                        "default": "ALL"
                    },
                    "agentTypes": {
                        "title": "Agent Types",
                        "type": "array",
                        "description": "Filter by agent types (for AGENT product type only).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "STUDIO",
                                "CUSTOM",
                                "THIRD_PARTY"
                            ]
                        }
                    },
                    "agentTeams": {
                        "title": "Agent Teams",
                        "type": "array",
                        "description": "Filter by agent teams (for AGENT product type only).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "SALES",
                                "MARKETING",
                                "SERVICE",
                                "OPERATIONS",
                                "GENERAL"
                            ]
                        }
                    },
                    "certified": {
                        "title": "Certified Only",
                        "enum": [
                            "ALL",
                            "true",
                            "false"
                        ],
                        "type": "string",
                        "description": "Show only HubSpot certified apps (optional).",
                        "default": "ALL"
                    },
                    "builtByHubSpot": {
                        "title": "Built by HubSpot",
                        "enum": [
                            "ALL",
                            "true",
                            "false"
                        ],
                        "type": "string",
                        "description": "Show only apps built by HubSpot (optional).",
                        "default": "ALL"
                    },
                    "enrichOutput": {
                        "title": "✨ Enrich each app with publisher company profile",
                        "type": "boolean",
                        "description": "Toggle on to add the app vendor's company profile (size, funding, industry, LinkedIn) to every app via Apollo.io. Default off — cached per unique vendor.",
                        "default": false
                    },
                    "enrichConnector": {
                        "title": "✨ Enrichment Connector",
                        "type": "string",
                        "description": "Pick the Apollo.io connector. Click '+' to authorize if you haven't yet."
                    },
                    "mcpProxyUrlOverride": {
                        "title": "🛠 MCP proxy URL override (dev/diagnostic)",
                        "type": "string",
                        "description": "Diagnostic only."
                    },
                    "mcpTokenOverride": {
                        "title": "🛠 MCP bearer token override (dev/diagnostic)",
                        "type": "string",
                        "description": "Diagnostic only."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
