# monday + Zapier + Make App Marketplace Scraper (`jungle_synthesizer/monday-zapier-make-app-marketplace-scraper`) Actor

Aggregate app and integration listings across monday.com, Zapier, and Make.com. Returns app name, category, vendor, rating, reviews, action/trigger counts, pricing, and free-plan flag.

- **URL**: https://apify.com/jungle\_synthesizer/monday-zapier-make-app-marketplace-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Business, Other, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## 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

## monday + Zapier + Make App Marketplace Scraper

Aggregate app and integration listings across [monday.com](https://monday.com/marketplace), [Zapier](https://zapier.com/apps), and [Make.com](https://www.make.com/en/integrations). Returns app name, category, vendor, rating, reviews, Zapier action/trigger counts, pricing, and free-plan flag — in one canonical schema tagged by source marketplace.

---

### iPaaS Marketplace Scraper Features

- Single run covers three iPaaS marketplaces: monday, Zapier, and Make
- Returns 17 fields per app including vendor name, rating, review count, and pricing text
- Zapier-specific signal: action count, trigger count, Zap usage count, premium flag, and popularity score
- Free-plan availability surfaced as a boolean
- Pick which marketplaces to run via the `sources` array — one, two, or all three
- Includes residential proxy by default. Make.com sits behind Cloudflare and rejects datacenter IPs.

---

### Who Uses iPaaS Marketplace Data?

- **iPaaS builders** — Benchmark app coverage, pricing, and rating distributions across competing platforms before scoping a new integration
- **SaaS product teams** — Find which platforms already integrate with your tool, and which competitors integrate with the platforms you don't yet support
- **Sales and BD** — Build outreach lists of app vendors building on platforms where you want to partner
- **Investors and analysts** — Track ecosystem growth: app counts per category, premium-app share, free-plan adoption
- **Tech journalism** — Map which integrations are gaining usage and which categories are saturated

---

### How the iPaaS Marketplace Scraper Works

1. **Pick sources** — Set `sources` to any subset of `monday`, `zapier`, and `make`. Default is all three.
2. **Per-source crawl** — Each marketplace has its own listing endpoint and pagination shape. The scraper handles each one separately and normalizes results.
3. **Schema canonicalization** — Output is one flat schema tagged with `source_marketplace`. Source-specific fields (Zapier actions/triggers) populate only on relevant rows.
4. **Export** — One record per app across all sources in your Apify dataset.

---

### Input

#### All three sources

```json
{
  "sources": ["monday", "zapier", "make"],
  "maxItems": 0
}
````

#### Zapier only

```json
{
  "sources": ["zapier"],
  "maxItems": 500
}
```

#### monday + Make

```json
{
  "sources": ["monday", "make"],
  "maxItems": 300
}
```

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| sources | array | `["zapier"]` | Subset of `monday`, `zapier`, `make`. |
| maxItems | integer | 10 | Cap on apps across all sources combined. `0` = unlimited. |
| proxyConfiguration | object | BUYPROXIES94952 residential | Proxy settings. Residential is required for Make.com. |

***

### iPaaS Marketplace Scraper Output Fields

```json
{
  "source_marketplace": "zapier",
  "app_name": "Notion",
  "slug": "notion",
  "description": "Notion is the connected workspace where better, faster work happens.",
  "category": "Notes + Productivity",
  "vendor_name": "Notion Labs",
  "vendor_url": "https://www.notion.so",
  "rating": 4.6,
  "reviews_count": 482,
  "actions_count": 7,
  "triggers_count": 4,
  "pricing_text": "Free plan available",
  "free_plan": true,
  "app_url": "https://zapier.com/apps/notion/integrations",
  "icon_url": "https://zapier-images.imgix.net/storage/services/notion.png",
  "is_premium": false,
  "popularity": 0.92,
  "zap_usage_count": 48000,
  "days_since_last_update": 14
}
```

| Field | Type | Description |
|-------|------|-------------|
| source\_marketplace | string | `monday`, `zapier`, or `make` |
| app\_name | string | App or integration name |
| slug | string | URL slug identifier |
| description | string | Short description of the app |
| category | string | Primary category label |
| vendor\_name | string | Developer or vendor name |
| vendor\_url | string | Developer or vendor website URL |
| rating | number | Average user rating (0-5) |
| reviews\_count | number | Total number of reviews |
| actions\_count | number | Zapier action count (Zapier only) |
| triggers\_count | number | Zapier trigger count (Zapier only) |
| pricing\_text | string | Raw pricing description |
| free\_plan | boolean | App has a free plan |
| app\_url | string | URL to the app listing page |
| icon\_url | string | URL of the app icon or logo |
| is\_premium | boolean | App is marked premium (Zapier only) |
| popularity | number | Relative popularity score (Zapier only) |
| zap\_usage\_count | number | Active Zaps using this app (Zapier only) |
| days\_since\_last\_update | number | Days since last update |

***

### FAQ

#### How do I compare iPaaS marketplaces in a single dataset?

iPaaS Marketplace Scraper aggregates monday, Zapier, and Make into one schema with `source_marketplace` as the discriminator. Run once with all three sources selected, then group or pivot by source downstream.

#### How much does this actor cost to run?

iPaaS Marketplace Scraper uses pay-per-event pricing on the `default_2603_basic` profile at a 2.0x coefficient. The higher coefficient covers residential proxy bandwidth required for Make.com. Per-record cost is low single cents.

#### Why are Zapier-specific fields blank for monday and Make rows?

iPaaS Marketplace Scraper uses one canonical schema across all three sources. Action count, trigger count, premium flag, popularity, and Zap usage exist only on Zapier listings and stay empty for the others. The `source_marketplace` field tells you which row supports which fields.

#### Does this actor need proxies?

iPaaS Marketplace Scraper requires residential proxy. Make.com sits behind Cloudflare and rejects datacenter IPs. The default `BUYPROXIES94952` residential group is configured automatically; leave it alone unless you have a specific reason to override.

#### Can I filter by category at the input stage?

iPaaS Marketplace Scraper does not currently filter by category at input. Categories are returned per app, so a downstream `category = 'Productivity'` filter on the dataset is straightforward.

***

### Need More Features?

Need per-marketplace input filters (Zapier category, monday Hub compatibility), review-text extraction, or scheduled re-runs to track ecosystem growth? [Open an issue](https://console.apify.com/actors/issues) or get in touch.

### Why Use iPaaS Marketplace Scraper?

- **One schema across three marketplaces** — `source_marketplace` is the only field you have to switch on. Everything else maps to the same column names.
- **Zapier action/trigger counts** — Most iPaaS scrapers stop at app name and category. This one returns the integration depth signal that actually matters when scoping a partner build.
- **Cloudflare handled** — Make.com is the awkward one, and the actor ships with the residential proxy group that gets past it. You don't have to configure that yourself.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

Please describe how you plan to use the data extracted by this crawler.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

Provide your email address so we can get in touch with you.

## `sources` (type: `array`):

Marketplaces to crawl. Valid values: monday, zapier, make. Default scrapes all three.

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

Maximum number of apps to scrape across all sources combined. Use 0 for unlimited.

## `proxyConfiguration` (type: `object`):

Select proxies to be used by your crawler. Required for Make.com (Cloudflare bypass). BUYPROXIES94952 residential group recommended.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "sources": [
    "zapier"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "BUYPROXIES94952"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "sources": [
        "zapier"
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "BUYPROXIES94952"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/monday-zapier-make-app-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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "sources": ["zapier"],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["BUYPROXIES94952"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/monday-zapier-make-app-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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "sources": [
    "zapier"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "BUYPROXIES94952"
    ]
  }
}' |
apify call jungle_synthesizer/monday-zapier-make-app-marketplace-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "monday + Zapier + Make App Marketplace Scraper",
        "description": "Aggregate app and integration listings across monday.com, Zapier, and Make.com. Returns app name, category, vendor, rating, reviews, action/trigger counts, pricing, and free-plan flag.",
        "version": "0.1",
        "x-build-id": "dsIQ1J8ZuglXLYEXE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~monday-zapier-make-app-marketplace-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-monday-zapier-make-app-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/jungle_synthesizer~monday-zapier-make-app-marketplace-scraper/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-monday-zapier-make-app-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/jungle_synthesizer~monday-zapier-make-app-marketplace-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-monday-zapier-make-app-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",
                "required": [
                    "sp_intended_usage",
                    "sp_improvement_suggestions"
                ],
                "properties": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "sources": {
                        "title": "Sources",
                        "type": "array",
                        "description": "Marketplaces to crawl. Valid values: monday, zapier, make. Default scrapes all three.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "type": "integer",
                        "description": "Maximum number of apps to scrape across all sources combined. Use 0 for unlimited.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by your crawler. Required for Make.com (Cloudflare bypass). BUYPROXIES94952 residential group recommended."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
