Shopify Store Intelligence MCP
Pricing
Pay per usage
Shopify Store Intelligence MCP
Scrapes any public Shopify store and returns structured competitive intelligence: products, collections, pricing analysis, theme detection, and installed apps β with no API key required. Runs as an MCP server via Apify Standby.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Sam Rothschild
Actor stats
0
Bookmarked
2
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
An Apify Actor that scrapes any public Shopify store (no API key required) and returns structured competitive intelligence data. Runs as a persistent MCP server via Apify Standby, making it directly usable from Claude Desktop, Cursor, and any MCP-compatible AI client.
What it does
Point it at any Shopify store URL and get back:
- πͺ Store metadata β name, description, currency, country
- π¦ Product catalog β paginated, with prices as numbers, discount %, variants
- ποΈ Collections β all categories with handles and URLs
- π° Price intelligence β min/max/mean/median, discount frequency, price buckets
- π¨ Theme & apps β theme name/ID, installed apps (Klaviyo, ReCharge, etc.), tracking pixels, social links
MCP Tools
analyze_store
Full competitive intelligence report in a single call.
Input:
{ "store_url": "https://allbirds.com" }
Output:
{"tool": "analyze_store","store_url": "https://allbirds.com","scraped_at": "2024-01-15T10:30:00.000Z","store_name": "Allbirds","description": "The world's most comfortable shoes...","currency": "USD","country": "US","total_collections": 24,"collections_preview": [...],"top_products": [{"title": "Men's Tree Runners","handle": "mens-tree-runners","price": 98,"compare_at_price": null,"discount_percent": null,"available": true,"image_url": "https://cdn.shopify.com/...","url": "https://allbirds.com/products/mens-tree-runners","variants": [...]}],"theme": { "name": "Prestige", "id": "123456789" },"detected_apps": ["Klaviyo", "Yotpo", "Gorgias"],"tracking_pixels": ["Google Tag Manager", "Facebook Pixel"],"social_links": {"instagram": "https://instagram.com/allbirds","twitter": "https://twitter.com/allbirds"}}
get_products
Paginated product catalog.
Input:
{"store_url": "https://gymshark.com","page": 1,"limit": 50,"collection": "mens-t-shirts"}
Output: { products: [...], page, limit, has_more, total_on_page }
get_collections
All collections/categories.
Input: { "store_url": "https://gymshark.com" }
Output:
{"total_collections": 42,"collections": [{"handle": "mens-t-shirts","title": "Men's T-Shirts","url": "https://gymshark.com/collections/mens-t-shirts","product_count": 36}]}
price_intelligence
Comprehensive pricing analysis.
Input: { "store_url": "https://gymshark.com" }
Output:
{"total_products_analyzed": 847,"price_range": { "min": 9, "max": 65, "mean": 34.50, "median": 35 },"discount_analysis": {"products_on_sale": 124,"sale_percent": 14.6,"avg_discount_percent": 22,"max_discount_percent": 60},"distribution": [{ "label": "$25 β $50", "count": 412, "percent": 48.6, "from": 25, "to": 50 }],"top_priced": [...],"deepest_discounts": [...]}
detect_theme_and_apps
Tech stack detection from homepage HTML.
Input: { "store_url": "https://allbirds.com" }
Output:
{"theme": { "name": "Prestige", "id": "123456789" },"detected_apps": ["Klaviyo", "ReCharge", "Yotpo", "Gorgias", "Smile.io"],"tracking_pixels": ["Google Tag Manager", "Facebook Pixel", "Hotjar"],"social_links": { "instagram": "https://instagram.com/allbirds" }}
Using as an MCP Server
With Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{"mcpServers": {"shopify-intel": {"url": "https://rothy--shopify-intel-mcp.apify.actor/mcp","headers": {"Authorization": "Bearer YOUR_APIFY_API_TOKEN"}}}}
Then ask Claude: "Analyze the Shopify store gymshark.com and tell me their top products and pricing strategy."
With Cursor
Add in Cursor settings β MCP:
{"shopify-intel": {"url": "https://rothy--shopify-intel-mcp.apify.actor/mcp"}}
Local development
npm installnpm run buildACTOR_STANDBY_PORT=4321 npm start# MCP endpoint: http://localhost:4321/mcp
Running via Apify API (single tool call)
curl -X POST https://api.apify.com/v2/acts/rothy~shopify-intel-mcp/runs \-H "Authorization: Bearer YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"tool": "analyze_store","store_url": "https://allbirds.com"}'
Publishing to Apify
- Install Apify CLI:
npm install -g apify-cli - Authenticate:
apify login - Build and push:
npm run buildapify push
- In the Apify Console:
- Set Actor type to
Standby(persistent HTTP server) - Enable Pay Per Event monetization
- Set price per
tool-callevent (suggested: $0.01)
- Set Actor type to
Pricing
This actor uses Apify's pay-per-event model β pay only for what you use:
| Tool | Price |
|---|---|
analyze_store | $0.10 / call |
price_intelligence | $0.05 / call |
detect_theme_and_apps | $0.05 / call |
get_products | $0.02 / call |
get_collections | $0.02 / call |
No subscription required.
Supported Shopify Endpoints
All requests use public, unauthenticated Shopify APIs:
| Endpoint | Used For |
|---|---|
/products.json | Product catalog |
/collections.json | Collection list |
/collections/{handle}/products.json | Collection products |
/meta.json | Store metadata |
| Homepage HTML | Theme & app detection |
Error Handling
- Not a Shopify store: Clear error if
/products.jsonreturns 404 - Password-protected: Clear error for 401/password-gated stores
- Rate limiting: Automatic pagination with graceful stops
- Partial failures:
analyze_storereturns partial data if some endpoints fail
Tech Stack
- TypeScript
- Apify SDK v3
- MCP SDK (
@modelcontextprotocol/sdk) - Express (HTTP server)
- Cheerio (HTML parsing)