# Atlassian Marketplace Scraper (`crawlerbros/atlassian-marketplace-scraper`) Actor

Scrape the Atlassian Marketplace, search apps/addons by keyword, browse by category, or fetch specific addons by key. Extracts name, vendor, rating, install count, pricing model, categories, hosting, and more.

- **URL**: https://apify.com/crawlerbros/atlassian-marketplace-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 7 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Atlassian Marketplace Scraper

Extract app listings from the Atlassian Marketplace — the official app store for Jira, Confluence, Trello, and other Atlassian products. No API key or login required.

### What this actor does

This actor lets you search, browse, and extract detailed information about apps published on the [Atlassian Marketplace](https://marketplace.atlassian.com). It supports three modes:

- **Search** — find apps matching a keyword (e.g., "project management", "time tracking")
- **Browse by category** — list all apps in a specific category (Project management, Workflow, Integrations, etc.)
- **Fetch by addon key** — retrieve full details for one or more specific apps by their unique key

### Why use this actor?

- **Market research** — discover the most popular tools Atlassian teams use
- **Competitive analysis** — compare ratings, install counts, and reviews across apps
- **Lead generation** — identify vendors and partners in the Atlassian ecosystem
- **Data enrichment** — augment CRM or analytics pipelines with app metadata

### Input

| Field | Type | Description | Default |
|---|---|---|---|
| `mode` | select | `search`, `byCategory`, or `byAddonKey` | `search` |
| `searchQuery` | string | Keyword to search (mode=search) | `project management` |
| `category` | select | Category ID to browse (mode=byCategory) | — |
| `addonKeys` | array | Addon key strings to fetch (mode=byAddonKey) | — |
| `hosting` | select | Filter by hosting: `cloud`, `server`, `datacenter` | `cloud` |
| `maxItems` | integer | Maximum records to return (1–500) | `50` |
| `minRating` | number | Only include apps with rating ≥ this value (0.0–5.0) | — |

#### Example inputs

**Search for project management tools:**
```json
{
  "mode": "search",
  "searchQuery": "project management",
  "hosting": "cloud",
  "maxItems": 50
}
````

**Browse Workflow category:**

```json
{
  "mode": "byCategory",
  "category": 11,
  "hosting": "cloud",
  "maxItems": 100
}
```

**Fetch specific addons:**

```json
{
  "mode": "byAddonKey",
  "addonKeys": ["is.origo.jira.tempo-plugin", "com.onresolve.jira.groovy.groovyrunner"],
  "hosting": "cloud"
}
```

### Output

Each record contains the following fields (only populated fields are included):

| Field | Type | Description |
|---|---|---|
| `addonKey` | string | Unique addon key (e.g., `is.origo.jira.tempo-plugin`) |
| `addonId` | string | Numeric addon ID |
| `name` | string | App display name |
| `tagLine` | string | Short tagline |
| `summary` | string | Longer description |
| `status` | string | Listing status (`public`, `private`) |
| `addonUrl` | string | Direct URL to the app on Atlassian Marketplace |
| `logoUrl` | string | App logo image URL |
| `vendorName` | string | Name of the vendor/developer |
| `vendorUrl` | string | Vendor profile URL on Marketplace |
| `categories` | array | Category names (e.g., `["Time tracking", "Reports"]`) |
| `rating` | number | Average star rating (0.0–5.0) |
| `reviewCount` | integer | Total number of reviews |
| `installCount` | integer | Total active installs |
| `downloadCount` | integer | Total cumulative downloads |
| `pricingModel` | string | `Free` or `Paid` |
| `version` | string | Latest version name (byAddonKey mode) |
| `releaseDate` | string | Latest release date (byAddonKey mode) |
| `hosting` | array | Hosting types (`cloud`, `server`, `datacenter`) |
| `lastModified` | string | ISO-8601 last-modified date |
| `communityEnabled` | boolean | Whether community features are enabled |
| `storesPersonalData` | boolean | Whether the app stores personal data |
| `keywords` | array | App keyword tags |
| `scrapedAt` | string | ISO-8601 timestamp of when the record was scraped |

#### Example output record

```json
{
  "addonKey": "is.origo.jira.tempo-plugin",
  "addonId": "6572",
  "name": "Timesheets by Tempo - Jira Time Tracking",
  "tagLine": "Award-winning time tracking for Jira",
  "summary": "The most trusted time tracking app for Jira and Jira Service Management teams.",
  "status": "public",
  "addonUrl": "https://marketplace.atlassian.com/apps/6572/timesheets-by-tempo-jira-time-tracking?tab=overview",
  "logoUrl": "https://marketplace.atlassian.com/product-listing/files/abc123",
  "vendorName": "Tempo",
  "vendorUrl": "https://marketplace.atlassian.com/vendors/1001/tempo",
  "categories": ["Time tracking", "Project management"],
  "rating": 4.2,
  "reviewCount": 887,
  "installCount": 29029,
  "downloadCount": 620364,
  "pricingModel": "Paid",
  "lastModified": "2026-05-10T07:41:01.024+00:00",
  "communityEnabled": true,
  "storesPersonalData": true,
  "scrapedAt": "2026-05-20T12:00:00+00:00"
}
```

### Available categories

| ID | Category |
|---|---|
| 1 | Admin tools |
| 2 | Charts & diagramming |
| 3 | Email |
| 4 | Integrations |
| 5 | IT & helpdesk |
| 6 | Mobile |
| 7 | Project management |
| 8 | Source code |
| 9 | Testing & QA |
| 10 | Themes & styles |
| 11 | Workflow |
| 12 | Time tracking |
| 13 | Custom fields |
| 14 | Dashboard gadgets |
| 15 | Language packs |
| 20 | Reports |
| 34 | Messaging |
| 54 | Continuous integration |
| 55 | Monitoring |
| 56 | CRM |
| 57 | Deployments |
| 58 | Code quality |
| 60 | Security |

### FAQ

**Does this require an API key or Atlassian account?**
No. The Atlassian Marketplace REST API is fully public. This actor works on a free Apify plan with no credentials.

**What does the `hosting` filter do?**
It filters apps by deployment type: `cloud` (Atlassian Cloud), `server` (on-premise), or `datacenter` (Atlassian Data Center).

**Why are some fields like `version` and `hosting` only present in byAddonKey mode?**
Version and hosting details require an extra API call per addon. In search/browse modes these are omitted for performance. Use `byAddonKey` mode when you need these fields.

**What does `pricingModel` mean?**

- `Free` — the app is free to install
- `Paid` — the app has a paid license (per-user or per-instance pricing via Atlassian billing)
- Some apps may have freemium tiers; refer to the `addonUrl` for full pricing details.

**How do I find an addon key?**
Visit the app page on marketplace.atlassian.com. The key appears in the REST API URL (e.g., `is.origo.jira.tempo-plugin`) and can also be extracted from the `addonKey` field of any search result.

**Can I get reviews with this actor?**
This actor focuses on addon metadata. For detailed reviews, use the companion **Atlassian Marketplace Reviews Scraper** actor.

**Is there rate limiting?**
The actor includes polite delays between API pages (0.3s) and automatic retries on rate-limit responses. It should not trigger API limits under normal use.

### Data source

Data is sourced from the official Atlassian Marketplace REST API (`https://marketplace.atlassian.com/rest/2`). This is a public API with no authentication requirement.

# Actor input Schema

## `mode` (type: `string`):

How to fetch addons.

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

Free-text keyword to search the Atlassian Marketplace. Required for mode=search.

## `category` (type: `string`):

Category to browse. Required for mode=byCategory.

## `addonKeys` (type: `array`):

List of Atlassian Marketplace addon keys to fetch. E.g. `is.origo.jira.tempo-plugin`. Required for mode=byAddonKey.

## `hosting` (type: `string`):

Filter addons by hosting type.

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

Maximum number of addon records to return.

## `minRating` (type: `number`):

Only include addons with an average rating >= this value (0.0–5.0).

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "project management",
  "category": "Project management",
  "addonKeys": [],
  "hosting": "cloud",
  "maxItems": 50
}
```

# Actor output Schema

## `addons` (type: `string`):

Dataset containing all scraped Atlassian Marketplace addons.

# 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 = {
    "mode": "search",
    "searchQuery": "project management",
    "category": "Project management",
    "addonKeys": [],
    "hosting": "cloud",
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/atlassian-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 = {
    "mode": "search",
    "searchQuery": "project management",
    "category": "Project management",
    "addonKeys": [],
    "hosting": "cloud",
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/atlassian-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 '{
  "mode": "search",
  "searchQuery": "project management",
  "category": "Project management",
  "addonKeys": [],
  "hosting": "cloud",
  "maxItems": 50
}' |
apify call crawlerbros/atlassian-marketplace-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Atlassian Marketplace Scraper",
        "description": "Scrape the Atlassian Marketplace, search apps/addons by keyword, browse by category, or fetch specific addons by key. Extracts name, vendor, rating, install count, pricing model, categories, hosting, and more.",
        "version": "1.0",
        "x-build-id": "6YdhnsuhKrGlZYj3s"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~atlassian-marketplace-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-atlassian-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/crawlerbros~atlassian-marketplace-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-atlassian-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/crawlerbros~atlassian-marketplace-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-atlassian-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": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "byCategory",
                            "byAddonKey"
                        ],
                        "type": "string",
                        "description": "How to fetch addons.",
                        "default": "search"
                    },
                    "searchQuery": {
                        "title": "Search query (mode=search)",
                        "type": "string",
                        "description": "Free-text keyword to search the Atlassian Marketplace. Required for mode=search.",
                        "default": "project management"
                    },
                    "category": {
                        "title": "Category (mode=byCategory)",
                        "enum": [
                            "Admin tools",
                            "Charts & diagramming",
                            "Email",
                            "Integrations",
                            "IT & helpdesk",
                            "Mobile",
                            "Project management",
                            "Source code",
                            "Testing & QA",
                            "Themes & styles",
                            "Workflow",
                            "Time tracking",
                            "Custom fields",
                            "Dashboard gadgets",
                            "Language packs",
                            "Shared workflows",
                            "Build management",
                            "Reports",
                            "Repository connectors",
                            "Tasks",
                            "Document management",
                            "Documentation",
                            "Messaging",
                            "Blueprints",
                            "Macros",
                            "Utilities",
                            "Repository hooks",
                            "Design tools",
                            "Continuous integration",
                            "Monitoring",
                            "CRM",
                            "Deployments",
                            "Code quality",
                            "Code review",
                            "Security",
                            "Dependency management",
                            "IDE"
                        ],
                        "type": "string",
                        "description": "Category to browse. Required for mode=byCategory.",
                        "default": "Project management"
                    },
                    "addonKeys": {
                        "title": "Addon keys (mode=byAddonKey)",
                        "type": "array",
                        "description": "List of Atlassian Marketplace addon keys to fetch. E.g. `is.origo.jira.tempo-plugin`. Required for mode=byAddonKey.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "hosting": {
                        "title": "Hosting",
                        "enum": [
                            "cloud",
                            "server",
                            "datacenter"
                        ],
                        "type": "string",
                        "description": "Filter addons by hosting type.",
                        "default": "cloud"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of addon records to return.",
                        "default": 50
                    },
                    "minRating": {
                        "title": "Minimum rating",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "number",
                        "description": "Only include addons with an average rating >= this value (0.0–5.0)."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
