---
canonical_url: "https://docs.composio.dev/toolkits/particl_mcp"
markdown_url: "https://docs.composio.dev/toolkits/particl_mcp.md"
product: "platform"
version: null
last_updated: null
---

# Particl MCP

Particl MCP gives agents read-only access to authorized market intelligence covering companies, products, pricing, sales estimates, and marketing activity.

- **Category:** model context protocol
- **Auth:** DCR_OAUTH
- **Composio-managed OAuth available?** No
- **Tools:** 18
- **Triggers:** 0
- **Slug:** `PARTICL_MCP`
- **Version:** 20260910_00

## Tools

### Get company details

**Slug:** `PARTICL_MCP_GET_COMPANY_DETAILS`

Get detailed information about a specific company.

Args:
    company_id: The Particl company ID (e.g., '1234567')
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 credit per call (not charged if no data is returned).

Returns:
    Company profile including name, domain, country, vertical, start date,
    product count, whether product-level data exists (has_product_data),
    and top product categories.

    The has_product_data field indicates whether the company has product-level data.
    When has_sales_data is false, sales fields are not populated for this company.
    When has_pricing_data is false, pricing fields are not populated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes |  |
| `analysis_goal` | string | No |  |

### Get company events

**Slug:** `PARTICL_MCP_GET_COMPANY_EVENTS`

Get promotional events for a company — product launches, sales, restocks, price changes,
and discounts — with associated marketing assets and products. Supports pagination.
Use search_companies first to find the company_id.

Args:
    company_id: The Particl company ID (e.g., '1234567') - required
    start_date: Start of date range (ISO format, e.g., '2025-01-01'). Defaults to ~30 days ago.
    end_date: End of date range (ISO format, e.g., '2025-01-31'). Defaults to ~2 days ago.
    event_types: Filter by event type(s). Common values: 'Promotion', 'Product Release', 'Special Event', 'Collaboration', 'Restock'. Many other values exist — call without this filter first to discover available types for a company.
    channels: Filter by marketing channel(s). Options: 'email', 'instagram_post', 'facebook_ads', 'sms', 'homepage_screenshot'
    page_size: Results per page (default 25, max 100). Set higher to get more results per call.
    page: Page number (0-indexed, default 0). Increment to get additional pages of results.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 per row returned (e.g., page_size=10 costs up to 10 credits).

Returns:
    List of promotional events with associated marketing assets and products. Includes has_more and total_count for pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No |  |
| `channels` | string | No |  |
| `end_date` | string | No |  |
| `page_size` | integer | No |  |
| `company_id` | string | Yes |  |
| `start_date` | string | No |  |
| `event_types` | string | No |  |
| `analysis_goal` | string | No |  |

### Get company marketing assets

**Slug:** `PARTICL_MCP_GET_COMPANY_MARKETING_ASSETS`

List a company's marketing assets — emails, Instagram posts, Facebook/Meta ads, SMS messages,
and homepage screenshots. Supports pagination. Use search_companies first to find the company_id.

Args:
    company_id: The Particl company ID (e.g., '1234567') - required
    asset_types: Filter by asset type(s). Options: 'email', 'instagram_post', 'facebook_ads', 'sms', 'homepage_screenshot'. Defaults to all types.
    start_date: Start of date range (ISO format, e.g., '2025-01-01'). Defaults to ~30 days ago.
    end_date: End of date range (ISO format, e.g., '2025-01-31'). Defaults to ~2 days ago.
    page_size: Results per page (default 25, max 100). Set to 100 to get up to 100 results in one call.
    page: Page number (0-indexed, default 0). Increment to get additional pages of results.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 per row returned (e.g., page_size=25 costs up to 25 credits).

Returns:
    List of marketing assets with content, engagement metrics, and metadata. Includes has_more and total_count for pagination.
    Assets include product_ids when available — use these with get_company_products to look up sales and revenue data for the featured products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No |  |
| `end_date` | string | No |  |
| `page_size` | integer | No |  |
| `company_id` | string | Yes |  |
| `start_date` | string | No |  |
| `asset_types` | string | No |  |
| `analysis_goal` | string | No |  |

### Get company marketing stats

**Slug:** `PARTICL_MCP_GET_COMPANY_MARKETING_STATS`

Get aggregated marketing engagement statistics for a company — posting frequency by type,
average likes, engagement rate, most liked post, and posting hour distribution.
Use search_companies first to find the company_id.

Args:
    company_id: The Particl company ID (e.g., '1234567') - required
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Returns:
    total_assets: total number of marketing assets in the last 30 days
    assets_by_type: dict of asset counts keyed by type (e.g. {"instagram_post": 42, "email": 10})
    engagement_metrics: dict of {avg_likes, avg_comments} keyed by type
    posting_hours: dict of hour-frequency lists keyed by type
    estimated_reach: dict of average follower counts keyed by type (e.g. {"instagram_post": 50000.0})
    avg_likes: dict of average likes keyed by type (e.g. {"instagram_post": 1200.5})
    engagement_rate: dict of engagement rate percentages keyed by type (e.g. {"instagram_post": 4.2})
    most_liked_post: dict of most liked post details keyed by type

Credits: 1 credit per call (not charged if no data is returned).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes |  |
| `analysis_goal` | string | No |  |

### Get company products

**Slug:** `PARTICL_MCP_GET_COMPANY_PRODUCTS`

Deep-dive into a specific company's product catalog. Supports pagination — use page and page_size to retrieve more than the default 25 results.
Use search_companies first to find the company_id.

Args:
    company_id: The Particl company ID (e.g., '1234567') - required. Use search_companies to find this.
    product_type_id: Product type UUID from get_product_types. Pass the product_type_id value, not the name.
    keyword: Filter by keyword/tag (e.g., 'wool', 'recycled'). Searches product tags only, NOT product titles. Use title_search to search by title.
    title_search: Search products by title (e.g., 'tank top', 'winter jacket'). Matches against product display title.
    brand: Filter by brand name
    min_price: Minimum price filter
    max_price: Maximum price filter
    sort_by: Sort by 'sales_revenue' (default), 'sales_volume', 'price', or 'launch_date'
    sort_direction: 'desc' (default) or 'asc'
    page_size: Results per page (default 25, max 100). Set to 100 to get up to 100 results in one call.
    page: Page number (0-indexed, default 0). Increment to get additional pages of results.
    start_date: Start of sales data aggregation window (ISO format, e.g., '2025-01-01'). Defaults to ~30 days ago.
    end_date: End of sales data aggregation window (ISO format, e.g., '2025-01-31'). Defaults to today.
    confidence_threshold: Minimum data confidence score (0-10) for included products. Defaults to 6.0, which filters out products with unreliable sales estimates (e.g., gap-filled or anomalous data). You usually don't need to change this. Lower it (e.g., to 0) only if you're looking for a specific product that isn't appearing in results — it may be hidden due to lower data confidence. Set to 0 to include all products regardless of data quality.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 per row returned (e.g., page_size=25 costs up to 25 credits).

Returns:
    List of products from the specified company with pricing, sales estimates, and metadata. Includes has_more and total_count for pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No |  |
| `brand` | string | No |  |
| `keyword` | string | No |  |
| `sort_by` | string ("sales_revenue" | "sales_volume" | "price" | "launch_date") | No |  |
| `end_date` | string | No |  |
| `max_price` | string | No |  |
| `min_price` | string | No |  |
| `page_size` | integer | No |  |
| `company_id` | string | Yes |  |
| `start_date` | string | No |  |
| `title_search` | string | No |  |
| `analysis_goal` | string | No |  |
| `sort_direction` | string ("asc" | "desc") | No |  |
| `product_type_id` | string | No |  |
| `confidence_threshold` | string | No |  |

### Get credit balance

**Slug:** `PARTICL_MCP_GET_CREDIT_BALANCE`

Check your remaining export credits.

Credits: Free — no credits charged.

Returns:
    Credit balance including total limit, used, and remaining credits

### Get marketing asset details

**Slug:** `PARTICL_MCP_GET_MARKETING_ASSET_DETAILS`

Get full details of a specific marketing asset — email content, social post with engagement
metrics, ad creative with cards, or homepage screenshot.

Args:
    company_id: The Particl company ID (e.g., '1234567') - required
    asset_id: The asset ID - required
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 credit per call (not charged if no data is returned).

Returns:
    Full asset details including content, engagement metrics, metadata, and product_ids when available.
    Use product_ids with get_company_products to look up sales and revenue data for the featured products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `asset_id` | string | Yes |  |
| `company_id` | string | Yes |  |
| `analysis_goal` | string | No |  |

### Get market pricing analysis

**Slug:** `PARTICL_MCP_GET_MARKET_PRICING_ANALYSIS`

Get pricing analysis for a market or category.

Args:
    product_type_id: Product type UUID from get_product_types. Pass the product_type_id value, not the name.
    keyword: Filter by keyword/tag
    end_date: End of trailing 30-day analysis window (ISO format, e.g., '2025-01-15'). Defaults to ~2 days ago.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 credit per call (not charged if no data is returned).

Returns:
    Pricing summary with average, median, range, and distribution buckets

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `keyword` | string | No |  |
| `end_date` | string | No |  |
| `analysis_goal` | string | No |  |
| `product_type_id` | string | No |  |

### Get market sales

**Slug:** `PARTICL_MCP_GET_MARKET_SALES`

Get aggregated market-level sales data with monthly timeseries.

Returns total market revenue and volume, plus monthly timeseries showing how
the market is trending over time. Use with get_market_top_companies and
get_market_top_products for complete market analysis.

Args:
    product_type_id: Product type UUID from get_product_types. Pass the product_type_id value, not the name.
    keyword: Filter by keyword/tag (e.g., 'sustainable', 'organic')
    end_date: End of trailing analysis window (ISO format, e.g., '2025-01-15'). Defaults to ~2 days ago.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 credit per call (not charged if no data is returned).

Returns:
    Market sales summary with total revenue/volume and monthly timeseries

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `keyword` | string | No |  |
| `end_date` | string | No |  |
| `analysis_goal` | string | No |  |
| `product_type_id` | string | No |  |

### Get market top companies

**Slug:** `PARTICL_MCP_GET_MARKET_TOP_COMPANIES`

Get top-performing companies in a market or category. Supports pagination — use page and page_size to retrieve more than the default 25 results.

Args:
    product_type_id: Product type UUID from get_product_types. Pass the product_type_id value, not the name.
    keyword: Filter by keyword/tag (e.g., 'luxury', 'athleisure')
    end_date: End of trailing 30-day analysis window (ISO format, e.g., '2025-01-15'). Defaults to ~2 days ago.
    page: Page number (0-indexed, default 0). Use with page_size to paginate through results.
    page_size: Results per page (default 25, max 100). Set to 100 to get up to 100 results in one call.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 per row returned (e.g., page_size=25 costs up to 25 credits).

Returns:
    List of top companies with revenue and sales volume estimates. Includes has_more and total_count for pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No |  |
| `keyword` | string | No |  |
| `end_date` | string | No |  |
| `page_size` | integer | No |  |
| `analysis_goal` | string | No |  |
| `product_type_id` | string | No |  |

### Get market top products

**Slug:** `PARTICL_MCP_GET_MARKET_TOP_PRODUCTS`

Get best-selling products in a market or category. Supports pagination — use page and page_size to retrieve more than the default 25 results.

Args:
    product_type_id: Product type UUID from get_product_types. Pass the product_type_id value, not the name.
    keyword: Filter by keyword/tag (e.g., 'sustainable', 'organic')
    end_date: End of trailing 30-day analysis window (ISO format, e.g., '2025-01-15'). Defaults to ~2 days ago.
    page: Page number (0-indexed, default 0). Use with page_size to paginate through results.
    page_size: Results per page (default 25, max 100). Set to 100 to get up to 100 results in one call.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 per row returned (e.g., page_size=25 costs up to 25 credits).

Returns:
    List of top products with sales estimates, pricing, and product details. Includes has_more and total_count for pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No |  |
| `keyword` | string | No |  |
| `end_date` | string | No |  |
| `page_size` | integer | No |  |
| `analysis_goal` | string | No |  |
| `product_type_id` | string | No |  |

### Get product breakdown

**Slug:** `PARTICL_MCP_GET_PRODUCT_BREAKDOWN`

Get product data broken down by a specific attribute (color, brand, material, keyword, gender, or location).

Useful for understanding product mix — e.g., which colors sell best, which brands dominate,
what materials are most popular.

Args:
    company_id: The Particl company ID (e.g., '1234567') - required. Use search_companies to find this.
    breakdown_type: What to break down by. One of: 'keyword', 'material', 'colors', 'brands', 'gender', 'locations'.
    product_type_id: Product type UUID from get_product_types to filter by category.
    keyword: Filter by keyword/tag (e.g., 'sustainable'). Searches product tags only.
    start_date: Start of date range (ISO format, e.g., '2025-01-01'). Defaults to ~30 days ago.
    end_date: End of date range (ISO format, e.g., '2025-01-31'). Defaults to today.
    confidence_threshold: Minimum data confidence score (0-10) for included products. Defaults to 6.0, which filters out products with unreliable sales estimates (e.g., gap-filled or anomalous data). You usually don't need to change this. Lower it (e.g., to 0) only if you're looking for a specific product that isn't appearing in results — it may be hidden due to lower data confidence. Set to 0 to include all products regardless of data quality.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 per row returned.

Returns:
    List of breakdown buckets with name, count, sales_revenue, sales_volume, and pricing

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `keyword` | string | No |  |
| `end_date` | string | No |  |
| `company_id` | string | Yes |  |
| `start_date` | string | No |  |
| `analysis_goal` | string | No |  |
| `breakdown_type` | string ("keyword" | "material" | "colors" | "brands" | "gender" | "locations") | Yes |  |
| `product_type_id` | string | No |  |
| `confidence_threshold` | string | No |  |

### Get product details

**Slug:** `PARTICL_MCP_GET_PRODUCT_DETAILS`

Get full details for a specific product.

Returns comprehensive product information including pricing, brand, gender,
ratings, reviews, images, materials, keywords, and category data.
Use get_company_products first to find product_ids.

Args:
    company_id: The Particl company ID (e.g., '1234567') - required
    product_id: The product ID - required. Get this from get_company_products or get_market_top_products.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 credit per call (not charged if no data is returned).

Returns:
    Full product profile with metadata, ratings, and attributes

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes |  |
| `product_id` | string | Yes |  |
| `analysis_goal` | string | No |  |

### Get product types

**Slug:** `PARTICL_MCP_GET_PRODUCT_TYPES`

Browse the product type taxonomy to discover valid categories for filtering.

Use the returned product_type_id values in other tools' product_type_id parameter.

How to use:
1. Call with no parameters to get root-level categories
2. Pass a product_type_id as parent_product_type_id to see its subcategories
3. Keep drilling deeper until you find the right category
4. Use the chosen product_type_id as the product_type_id filter in other tools

Args:
    parent_product_type_id: Get child categories under this product type. Omit to get root-level categories.

Credits: Free — no credits charged.

Returns:
    List of product type categories with product_type_id and name

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `parent_product_type_id` | string | No |  |

### Get product variants

**Slug:** `PARTICL_MCP_GET_PRODUCT_VARIANTS`

Get variant-level data for a specific product (colors, sizes, individual pricing and sales).
Use get_company_products first to find product_ids.

Args:
    company_id: The Particl company ID (e.g., '1234567') - required
    product_id: The product ID - required. Get this from get_company_products or get_market_top_products.
    start_date: Start of sales data window (ISO format, e.g., '2025-01-01'). Defaults to ~30 days ago.
    end_date: End of sales data window (ISO format, e.g., '2025-01-31'). Defaults to today.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 per row returned.

Returns:
    List of product variants with color, size, pricing, and sales data

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_date` | string | No |  |
| `company_id` | string | Yes |  |
| `product_id` | string | Yes |  |
| `start_date` | string | No |  |
| `analysis_goal` | string | No |  |

### Get sales timeseries

**Slug:** `PARTICL_MCP_GET_SALES_TIMESERIES`

Get historical sales timeseries data for a company or a single product.

Returns daily, weekly, or monthly sales data points showing revenue, volume, pricing,
and inventory over time. Essential for understanding trends, seasonality, and growth.
Pass product_id to get timeseries for a single product, or omit for company-wide data.

Args:
    company_id: The Particl company ID (e.g., '1234567') - required. Use search_companies to find this.
    product_id: Optional product ID to get timeseries for a single product. Get this from get_company_products or get_market_top_products.
    product_type_id: Product type UUID from get_product_types to filter by category.
    keyword: Filter by keyword/tag (e.g., 'sustainable', 'organic'). Searches product tags only.
    start_date: Start of date range (ISO format, e.g., '2025-01-01'). Defaults to ~30 days ago.
    end_date: End of date range (ISO format, e.g., '2025-01-31'). Defaults to today.
    aggregation_type: Time granularity - 'daily', 'weekly', or 'monthly'. Auto-selected if omitted.
    confidence_threshold: Minimum data confidence score (0-10) for included products. Defaults to 6.0, which filters out products with unreliable sales estimates (e.g., gap-filled or anomalous data). You usually don't need to change this. Lower it (e.g., to 0) only if you're looking for a specific product that isn't appearing in results — it may be hidden due to lower data confidence. Set to 0 to include all products regardless of data quality.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: 1 per data point returned.

Returns:
    Timeseries data points with sales_revenue, sales_volume, avg_current_price, and totals

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `keyword` | string | No |  |
| `end_date` | string | No |  |
| `company_id` | string | Yes |  |
| `product_id` | string | No |  |
| `start_date` | string | No |  |
| `analysis_goal` | string | No |  |
| `product_type_id` | string | No |  |
| `aggregation_type` | string | No |  |
| `confidence_threshold` | string | No |  |

### Get started

**Slug:** `PARTICL_MCP_GET_STARTED`

Return first-session guidance, sample prompts, and follow-up ideas for new Particl MCP users.

Call this when the user is new, asks what they can do with Particl, or seems unsure how to start.
Credits: Free — no credits charged.

Returns:
    is_first_time, welcome_message, sample_prompts, suggested_follow_ups, tracked_competitors,
    and assistant_guidance for presenting options in plain English.

### Search companies

**Slug:** `PARTICL_MCP_SEARCH_COMPANIES`

Search for companies by name or domain. Supports pagination.

Args:
    search: Search term (company name or domain)
    page_size: Results per page (default 25, max 100). Set higher to get more results per call.
    page: Page number (0-indexed, default 0). Increment to get additional pages of results.
    sort_by: Sort results by 'popularity' (default) or 'start_date'
    country_code: Filter by country code (default 'US'). Common values: 'US', 'CA', 'AU', 'GB'. Pass empty string to search all countries.
    analysis_goal: Brief summary of the user's research objective for this query. Fill this in based on what the user is trying to learn. Omit if unknown.

Credits: Free — no credits charged.

Returns:
    List of matching companies with their basic info. Includes has_more and total_count for pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No |  |
| `search` | string | Yes |  |
| `sort_by` | string ("popularity" | "start_date") | No |  |
| `page_size` | integer | No |  |
| `country_code` | string | No |  |
| `analysis_goal` | string | No |  |
