{"slug": "give-claude-or-chatgpt-real-time-product-data-via-apify-s-mcp-server-full-setup", "title": "Give Claude or ChatGPT Real-Time Product Data via Apify's MCP Server (Full Setup Guide)", "summary": "Apify released a setup guide for connecting Claude Desktop and ChatGPT to its MCP server, which exposes more than 70,000 Store actors as callable tools for live data retrieval. Apify's own testing found that Claude browsing five major retailers directly returned 0 products out of 100, while routing the same queries through Apify's MCP server returned 100 out of 100, with the guide demonstrating structured product extraction via a dedicated e-commerce actor.", "body_md": "Ask Claude or ChatGPT to check the price of something on a random e-commerce site, and it'll either refuse (no browsing) or guess from stale training data. Even agents with browsing turn up empty-handed more often than you'd expect: Apify's own testing found that Claude browsing five major retailers directly pulled **0 products out of 100** — with Apify's MCP server in the loop, that became **100 out of 100**. Same model, same question, completely different result, because the bottleneck was never the model's reasoning — it was the lack of a reliable way to read a product page.\n\nThis guide shows the exact setup: connecting Claude Desktop to Apify's MCP server, then pulling clean, structured product data through it — including a real example using an actor built specifically for this ([Product Data for AI Shopping Agents](https://apify.com/dynamict3ch/product-data-for-ai-shopping-agents)).\n\nMCP (Model Context Protocol) is a standard that lets an AI model call external tools mid-conversation — not just generate text, but actually fetch live data or take actions. Apify runs an MCP server that exposes its entire Store (70,000+ actors — scrapers, extractors, automations) as callable tools. Once connected, Claude can search for the right tool, call it with real input, and get real output back, all inside the conversation.\n\nOpen Claude Desktop's config file (`claude_desktop_config.json`) and add one of these:\n\n**Remote, OAuth (recommended — no token to manage):**\n\n```\n{\n  \"mcpServers\": {\n    \"apify\": {\n      \"url\": \"https://mcp.apify.com\"\n    }\n  }\n}\n```\n\nFirst connection opens your browser for Apify sign-in and approval. Nothing else to configure.\n\n**Remote, with a token** (if you'd rather not do the OAuth flow):\n\n```\n{\n  \"mcpServers\": {\n    \"apify\": {\n      \"url\": \"https://mcp.apify.com\",\n      \"headers\": {\n        \"Authorization\": \"Bearer <YOUR_APIFY_TOKEN>\"\n      }\n    }\n  }\n}\n```\n\nGet your token from **Apify Console → Settings → API & Integrations**.\n\n**Local (stdio), if you want it running on your own machine instead of Apify's remote endpoint:**\n\n```\n{\n  \"mcpServers\": {\n    \"apify\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@apify/actors-mcp-server\"],\n      \"env\": {\n        \"APIFY_TOKEN\": \"YOUR_APIFY_TOKEN\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. You should now see Apify's tools available — `search-actors`, `call-actor`, `get-dataset-items`, and a few others.\n\nChatGPT connects to MCP servers through **Developer Mode**, not a config file. Full read/write access (needed for `call-actor`, since running an actor is a write-style action) is available on Business, Enterprise, and Edu plans; Pro gets read/fetch-only in developer mode. Plus and Free currently don't support custom connectors.\n\nIf you're on a supported plan:\n\n`https://mcp.apify.com`, set auth (OAuth is easiest — same flow as Claude).`@mention` it mid-conversation when you need a fresh call.\nEverything past this point — the `call-actor` input, the output shape, the pricing — works identically once the connector is scanned in.\n\nYou don't need to know actor names by heart — just ask Claude naturally, and it uses `search-actors` to find the right one:\n\n\"Search Apify for an actor that turns e-commerce product pages into structured data for AI agents.\"\n\nOr skip straight to it and call the actor directly by name using `call-actor`:\n\n```\n{\n  \"actor\": \"dynamict3ch/product-data-for-ai-shopping-agents\",\n  \"input\": {\n    \"startUrls\": [\n      { \"url\": \"https://mejuri.com/ca/en/products/bia-mini-hoops\" }\n    ],\n    \"maxRequestsPerCrawl\": 10\n  }\n}\n```\n\nReal output from this exact call:\n\n```\n{\n  \"id\": \"p134860210\",\n  \"name\": \"18k Gold Vermeil / Lab Grown White Sapphire\",\n  \"brand\": \"Mejuri\",\n  \"price\": 168,\n  \"currency\": \"CAD\",\n  \"availability\": \"InStock\",\n  \"rating\": 4.6,\n  \"reviewCount\": 29,\n  \"url\": \"https://mejuri.com/ca/en/products/bia-mini-hoops\",\n  \"imageUrl\": \"https://cdn.shopify.com/...\",\n  \"description\": null,\n  \"embeddingText\": \"18k Gold Vermeil / Lab Grown White Sapphire — Mejuri\",\n  \"source\": \"json-ld\",\n  \"scrapedAt\": \"2026-09-11T04:01:52.791Z\"\n}\n```\n\nSame shape every time, regardless of which store the URL points to — name, brand, price, currency, stock status, rating, and a source URL, with every field explicitly present (or explicitly `null`) instead of missing keys you have to guard against.\n\nOnce connected, you're not limited to one call at a time. A real prompt might look like:\n\n\"Here are three ring product URLs. Get the current price and rating for each, and tell me which one has the best rating-to-price ratio.\"\n\nClaude calls the actor once per URL (or batches them in one `startUrls` list), gets back structured records, and reasons over actual numbers instead of guessing from a product description it half-remembers.\n\nMost e-commerce sites embed `schema.org`/JSON-LD product markup for Google's own crawler — this actor reads that structured data first, falling back to Open Graph tags when JSON-LD isn't present. That's the difference between an agent parsing a hundred different HTML layouts (and breaking on every redesign) and an agent reading data the site already publishes in a machine-readable format.\n\nPay-per-event: charged per product record returned, not per page crawled. Roughly **$0.01 per product** — a batch of 100 products costs about a dollar.\n\n[Product Data for AI Shopping Agents on Apify Store](https://apify.com/dynamict3ch/product-data-for-ai-shopping-agents)\n\nSources: [Apify — Real-time product data for AI agents](https://blog.apify.com/real-time-product-data-for-ai-agents/), [Apify MCP server documentation](https://docs.apify.com/integrations/mcp)", "url": "https://wpnews.pro/news/give-claude-or-chatgpt-real-time-product-data-via-apify-s-mcp-server-full-setup", "canonical_source": "https://dev.to/dynamict3ch/give-claude-or-chatgpt-real-time-product-data-via-apifys-mcp-server-full-setup-guide-1lpi", "published_at": "2026-09-11 04:52:22+00:00", "updated_at": "2026-09-11 05:26:02.207716+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-products", "developer-tools", "large-language-models"], "entities": ["Apify", "Claude", "ChatGPT", "Anthropic", "OpenAI", "Model Context Protocol", "Mejuri"], "alternates": {"html": "https://wpnews.pro/news/give-claude-or-chatgpt-real-time-product-data-via-apify-s-mcp-server-full-setup", "markdown": "https://wpnews.pro/news/give-claude-or-chatgpt-real-time-product-data-via-apify-s-mcp-server-full-setup.md", "text": "https://wpnews.pro/news/give-claude-or-chatgpt-real-time-product-data-via-apify-s-mcp-server-full-setup.txt", "jsonld": "https://wpnews.pro/news/give-claude-or-chatgpt-real-time-product-data-via-apify-s-mcp-server-full-setup.jsonld"}}