Apify MCP Server
com.apifyPublished by apify.comOfficial publisherv0.21.4Updated Nov 7, 2026
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Overview
Hosted Apify MCP server that lets an assistant find, run and read results from thousands of Apify Store scraping, crawling and automation Actors.
- What you can do
- Search Apify Store and inspect an Actor's input schema, README and pricing before running it
- Run Actors, check run status and logs, abort runs, and read dataset items or key-value store records
- Search and fetch Apify and Crawlee documentation pages
- Search the web and fetch page content as Markdown, text or HTML through built-in Actor tools
- Manage saved tasks, schedules, builds and versions, and send requests to the Apify API
- Expose a single Actor, or an Actor's own MCP tools, as tools for the assistant
- When to use it
- Useful when an assistant needs live web data at scale: scraping sites, search results, social media, maps or e-commerce listings, or crawling pages for RAG, without installing a separate server per site.
- Requirements
- Remote endpoint at mcp.apify.com with OAuth sign-in, or an Apify API token sent in the Authorization header as a Bearer token. A local stdio variant runs via npx and needs Node.js 22 or later plus APIFY_TOKEN. An Apify account is needed for most tools; a few read-only tools work without one.
Installation
In SourceWeft
- Open Apify MCP Server in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.apify%2Fapify-mcp-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com/"
}
}
}README
[Get the config for any MCP client]
[npm version] [npm downloads] [CI status] [MIT license]
[GitHub stars] [Apify Discord]
Apify MCP server
Connect your agent to the largest marketplace of tools for AI.
The official Apify Model Context Protocol (MCP) server gives AI agents web scraping, data extraction, and browser automation through thousands of ready-made Actors from Apify Store, at https://mcp.apify.com.
Apify is the marketplace of ready-to-run tools for AI agents. One connection to the Apify MCP server gives your agent thousands of tools to choose from, for jobs like web fetch, SERP monitoring, lead generation and enrichment, and pulling data from e-commerce sites and social media. The server loads only what each task needs.
Your agent searches Apify Store, checks an Actor's input and pricing, runs it, and reads the structured results, so you don't install a separate MCP server for every site. Connect to the hosted server with OAuth, or run it locally over stdio with the @apify/actors-mcp-server npm package.
Contents
- Quickstart
- Set up your client
- Remote (hosted) or local MCP server
- How an agent uses Apify Actors
- Tools, resources, and prompts
- Choose which tools load
- UI mode configuration
- Example prompts
- Pricing and limits
- Telemetry
- Troubleshooting and limitations
- FAQ
- Development
- Contributing
- Privacy and license
- Learn more
🚀 Quickstart
- Open the MCP configurator, pick your client, and choose the tools you want.
- Copy the generated configuration, deeplink, or command into your client.
- Sign in to Apify in the browser window that opens. If you don't have an account, you can create a free one there.
The hosted endpoint is https://mcp.apify.com. If your client can't use OAuth, send your Apify API token in an Authorization: Bearer <APIFY_TOKEN> header instead. Treat the token like a password and keep it out of repositories.
Using a coding agent such as Claude Code, Codex, Cursor, or GitHub Copilot? An official Apify plugin installs this MCP server together with Apify agent skills in one step.
🤖 Set up your client
The configurator generates the exact setup for each supported client, including Claude Code, ChatGPT, Cursor, VS Code, GitHub Copilot CLI, Claude, Claude Desktop, Codex, OpenCode, Kiro, and more. The snippets below cover the most common cases.
Claude Code
Claude Code opens the Apify sign-in page the first time it uses the server. To install the Apify plugin with Apify agent skills instead, run /plugin marketplace add apify/apify-claude-code-plugin, then /plugin install apify@apify and /reload-plugins.
ChatGPT
- Open ChatGPT Plugins, select +, then Add custom MCP server.
- Name it
Apify, enterhttps://mcp.apify.comas the server URL, and choose OAuth authentication. - Review the risk warning, select I understand and want to continue, then Create as a plugin.
- Sign in with Apify, review the tools, and install the plugin. No API token is needed.
- Start a new conversation, type
@, and select Apify.
In Business, Enterprise, and Edu workspaces, an admin or owner may need to create or publish the plugin. If the option is missing, ask your workspace admin. When the server's tools change, open the plugin and select Refresh.
The ChatGPT desktop app uses local MCP configuration shared with Codex instead: go to Settings > MCP servers > Add server, choose Streamable HTTP, and enter https://mcp.apify.com. See OpenAI's custom MCP server guide.
Cursor
Use the one-click install link from the configurator, or let the Apify CLI write the configuration, including your API token:
The same command works for claude-code, vscode, codex, kiro, and antigravity.
VS Code and GitHub Copilot
Use the one-click install link from the configurator, run apify mcp install vscode, or add https://mcp.apify.com as an HTTP server in your MCP configuration:
Claude
Apify is available as a Claude connector. Open Settings > Connectors, find Apify in the connector directory, and connect it. You can also select Add custom connector, name it Apify, and enter https://mcp.apify.com as the remote MCP server URL. Sign in with Apify when prompted. The same connector works on Claude.ai and in Claude Desktop. See the Claude guide.
Any other MCP client (JSON config)
Most clients that support remote servers and OAuth accept a configuration like this:
Local stdio (npx)
Requires Node.js 22 or later.
If you've run apify login, the server can also read the token saved by the Apify CLI. Run npx @apify/actors-mcp-server --help for all options.
The server is also listed in the Docker MCP catalog, and each release ships an MCP bundle file (apify-mcp-server.mcpb) for one-click installation in clients that support it.
Remote (hosted) or local MCP server
The hosted remote MCP server with OAuth is the recommended option. Use the local server when you want to run the MCP process on your own machine; Actors still run and store their results on the Apify platform in both modes. If your client supports only stdio, you can also bridge it to the hosted server with mcp-remote: npx mcp-remote https://mcp.apify.com.
How an agent uses Apify Actors
Actors are serverless programs on the Apify platform. Each one does a specific job, like scraping Google Maps, crawling a website for RAG, or collecting social media posts. The MCP server turns Actors into tools an agent can find and call without you configuring each one in advance.
A typical task follows four steps:
search-actorsfinds candidate Actors in Apify Store for the task.fetch-actor-detailsreturns the Actor's input schema, README, and pricing, plus its output schema on request.call-actorstarts the run and waits for it to finish, 30 seconds by default and up to 45. It returns the run status and storage IDs; the scraped items stay in the run's dataset.get-dataset-itemsreads the results from the run's dataset, withlimitandoffsetfor pagination.
The server adds get-dataset-items, get-key-value-store-record, get-actor-run, and abort-actor-run whenever call-actor or an Actor tool is loaded, so the agent can always read results and check on long runs that outlast the wait.
You can also expose a specific Actor as its own tool, for example apify/instagram-scraper. The server builds the tool's parameters from the Actor's input schema, so the agent knows exactly what to pass. A Server Actor with an API schema, such as apify/web-fetch, apify/web-search, or apify/rag-web-browser, gets a tool that sends one HTTP request to its API instead.
Actors that run their own MCP server. Some Actors are MCP servers themselves. fetch-actor-mcp-tool-list lists their tools, and call-actor-mcp-tool calls one. When such an Actor is loaded as a tool source and has no API schema, its tools are exposed under names in the form username--actor-name--tool-name; an Actor with an API schema, such as apify/web-search, gets its server tool instead, and call-actor-mcp-tool reaches its MCP tools. Apify Store also lists MCP-related Actors from independent creators; those are separate products with their own READMEs and pricing.
🛠️ Tools, resources, and prompts
Any Actor can be a tool, and agents discover new ones as they work. By default, the server loads the actors and docs categories, two Actor tools (Web Search and Web Fetch), and report-problem. Everything else is opt-in by category or by tool name.
Helper tools
Besides Actor tools, the server provides helper tools for the Apify platform:
- Actors: search Apify Store, list the Actors in your account, view their details, call tools on Actors that run MCP servers, send requests to Server Actors, and delete your own Actors.
- Documentation: search the Apify and Crawlee docs and fetch pages as context.
- Runs and storage: list runs, inspect them, read their logs, and read datasets and key-value stores.
- Tasks and schedules: manage saved Actor tasks and their public landing pages, and schedules that run Actors and tasks automatically.
- Builds and versions: build Actors, read build logs, and create, read, change, copy, and delete versions from files.
- Apify API: search the API reference, inspect an operation, and send requests to read or change data.
Available tools
Legend for the Enabled by default column:
- ✅ In the default tool set.
- ⚡ Added automatically when
call-actor, an Actor tool, orget-actor-runis loaded, which is true in the default configuration. - ✅¹ Served by default only when telemetry is on and the client name doesn't contain
claude,anthropic, orlocal-agent-mode. Select it explicitly withtools=report-problemortools=devto serve it to any client; telemetry still has to be on.
The tasks category manages saved Actor tasks. It is unrelated to the MCP Tasks protocol. The tool reference has full descriptions of each tool.
Tool annotations
Every tool carries a title, a readOnlyHint, and an openWorldHint. readOnlyHint is true for tools that only read data. Actor tools get it only for Apify-maintained Actors with limited permissions and no inputs that accept secrets, writable storage, an MCP connector, or code; other Actor tools are marked destructive. openWorldHint is true for tools that reach outside the Apify platform, such as call-actor, and false for platform-only tools.
Prompts and resources
No prompts are registered yet, so prompts/list returns an empty list. resources/read accepts any Apify API GET URL (https://api.apify.com/v2/...) and returns the response body using the session's Apify token, inlined up to 256 KB. Your data isn't enumerated in resources/list; resources/templates/list lists the common shapes with their paging parameters.
Choose which tools load
The tools parameter takes categories, tool names, and Actor names, separated by commas. When you set it, the defaults are dropped and only what you list is loaded, plus the ⚡ run and storage tools whenever the list includes call-actor or an Actor. The easiest way to build a selection is the configurator.
Hosted server:
Local server:
To give an agent a single Actor, list only that Actor. The agent gets its tool plus the four ⚡ tools it needs to read the results:
Pin your tools in production. The default tool set can change between versions. Set
toolsexplicitly if you need a stable interface.
Backward compatibility with older configurations
apify/web-searchreplacedapify/rag-web-browserin the default tools. To keepapify--rag-web-browser, addapify/rag-web-browserto yourtoolslist, or settools=actors,docs,apify/rag-web-browser,apify/web-fetchfor the previous default categories and Actors.- The
actorsURL parameter and--actorsflag still work. They're merged intotools, so?actors=apify/web-fetchequals?tools=apify/web-fetch. enableAddingActors,enable-adding-actors, andenableActorAutoLoadingwere removed and are ignored. Dynamic Actor calls come fromcall-actor, which the defaultactorscategory includes.- The selectors
add-actor,experimental, andprevieware retired and load nothing. Usecall-actoror theactorscategory. get-actor-logwas renamed toget-actor-run-log, and thesourcecategory toversions. The old names load nothing.call-actorno longer calls tools on MCP server Actors: theactorName:toolNameform is rejected. Usecall-actor-mcp-toolwithactor,tool, andarguments.call-actorstill starts a run of an MCP server Actor that has an input schema; one without is refused. A selection that namescall-actoralone needscall-actor-mcp-tooladded.fetch-actor-detailsno longer lists an MCP server Actor's tools, andoutput.mcpToolsis ignored. Usefetch-actor-mcp-tool-list, which returns the definitions instructuredContent.tools. A selection that namesfetch-actor-detailsalone needsfetch-actor-mcp-tool-listadded.- A selected Actor with an API schema (a Server Actor) gets a tool that sends one HTTP request to its API, with
method,path, andqueryarguments, instead of a tool that starts a run. If the Actor is also an MCP server, the selection no longer loads its MCP tools: usecall-actor-mcp-tool.call-actorstill starts runs of the Actor when it has an input schema. A selectedapify/rag-web-browseris served this way too, withGET /search. apify--web-fetchsends one HTTP request to the Web Fetch Actor's API instead of starting a run, and returns the HTTP response. Its arguments aremethod,path,queryand, forPOST /,body, for example{"method": "GET", "path": "/", "query": {"url": "https://example.com", "formats": ["markdown", "links"]}}.apify--web-searchsends one HTTP request to the Web Search Actor's API instead of starting a run, and returns the HTTP response. Its arguments aremethod,path,queryand, forPOST /,body, for example{"method": "GET", "path": "/", "query": {"query": "AI agent payment protocols", "maxResults": 5}}.call-actorstill starts runs of the Actor, andcall-actor-mcp-toolcalls itssearchMCP tool.
UI mode configuration
The ui parameter controls MCP Apps widget tools. With UI mode on, the server adds search-actors-widget and fetch-actor-details-widget next to their base tools, which keep returning standard responses. By default (auto), UI mode turns on when the client supports MCP Apps.
Hosted server:
Local server, with a CLI flag or the UI_MODE environment variable:
💬 Example prompts
Ask in plain language. The agent finds a suitable Actor, checks its input and pricing, runs it, and reads the results. These prompts cover the most common jobs:
Follow-ups work too. "Show me the next 10 results from that run" makes the agent call get-dataset-items again with a higher offset. With the schedules category loaded, "Run that Google Maps search every Monday at 9 am" creates a schedule.
💰 Pricing and limits
- Connecting to the MCP server is free. Actor runs bill to your Apify account according to each Actor's pricing, which
fetch-actor-detailsshows before a run. The Apify free plan includes $5 of monthly platform usage. - To cap what a run can cost, pass
maxTotalChargeUsd(pay-per-event Actors) ormaxItems(pay-per-result Actors) in thecallOptionsofcall-actor.timeoutandmemorylimit the run's duration and memory, not its price. - The hosted server accepts up to 20 requests per second per account.
search-actorsreturns only free and pay-per-event Actors that pass the platform's agent-safety filters, so rental and pay-per-result Actors don't appear in search. Full-permission Actors need your one-time approval; until then,call-actorreturns an error with an approval link.- Some tools work without an Apify account:
search-actors,fetch-actor-details,search-apify-docs,fetch-apify-docs,apify-api-search, andapify-api-details. Select only those, for examplehttps://mcp.apify.com?tools=search-actors, and the hosted server accepts the connection without a token.
🪙 Agentic payments (experimental). Agents can pay for Actor runs without an Apify account. AGI sells a prepaid, spend-capped Apify API token for an x402, MPP, or Skyfire payment. The agent then uses it as a normal Bearer token against
mcp.apify.com, with any Actor. See the agentic payments documentation for supported methods and limits, and agi.apify.com/AGENTS.md for protocol details.
📡 Telemetry
The Apify MCP server collects telemetry about tool calls to help Apify understand usage patterns and improve the service. Telemetry is on by default. With telemetry on, Actor searches in Apify Store send the MCP session ID as _traceId, and tool-call events carry it as trace_id. search-actors also sends _useCase, a one-sentence reason for the search written by the model, which Apify uses to improve Store search results. The stdio transport also uses Sentry for error tracking, which helps the Apify team find and fix issues faster.
To opt out, including Sentry, set the telemetry-enabled URL parameter or the --telemetry-enabled CLI flag to false, or set TELEMETRY_ENABLED=false. CLI flags take precedence over environment variables.
🐛 Troubleshooting and limitations
- The local server won't start. Check your Node.js version: the package requires Node.js 22 or later.
- Authentication fails. Reconnect so the client repeats the OAuth flow, or switch to a Bearer token. For the local server, check that
APIFY_TOKENis set in the client's server configuration, not only in your shell. - Client features vary. Any MCP client can connect, but support for dynamic tool lists, OAuth, and MCP Apps differs between clients.
- Invalid Actor input. When
call-actorfails because of invalid input, the error includes the Actor's input schema so the agent can correct the input and retry.
How the server adapts Actor input schemas
The server adapts Actor input schemas so that more clients and models can use them:
- Descriptions longer than 500 characters are cut at the last complete sentence and marked
[Description truncated]. - Enums are kept in full up to 2,000 combined characters. Larger enums are replaced by a short note with example values.
- Required fields get a
REQUIREDprefix in their descriptions for frameworks that ignore the JSON Schemarequiredlist. - Nested properties are built for special inputs such as proxy configuration and request lists.
- Missing array item types are inferred from the item type, the prefill, the default value, or the editor type, in that order.
- Prefill and default values are copied into descriptions as examples, for clients that ignore JSON Schema
examples.
For more help, see the MCP documentation or open an issue.
❓ FAQ
What is an MCP server? An MCP server exposes tools and data to AI agents through the Model Context Protocol, an open standard supported by clients such as Claude, ChatGPT, and Cursor. The agent connects once and calls the server's tools when a task needs them. The Apify MCP server's tools are the Actors in Apify Store.
What is the Apify MCP server? It's the official Model Context Protocol server for Apify. It lets AI agents search Apify Store, run Actors for web scraping, data extraction, and browser automation, and read the structured results.
When is it a good MCP server for web scraping? When an agent needs data from many different sites. A typical case is Google Maps one day, Instagram or an online store the next. The agent picks a ready-made Actor for each site from Apify Store instead of you writing and maintaining a scraper. Each Actor works like a web scraping API for its site, and the Apify platform handles scaling, proxies, and storage of the results.
How does it compare to Playwright MCP? Playwright MCP drives a browser on your machine step by step, through clicks and page snapshots. The Apify MCP server runs Actors in the Apify cloud. Each Actor handles JavaScript rendering, proxies, and blocking for its site and returns structured results, so the agent asks for the data instead of operating a browser. Many agents use both.
Can ChatGPT or Claude scrape websites with it?
Yes. Connect ChatGPT, Claude, or Claude Code to https://mcp.apify.com, then ask in plain language. The model searches for a suitable Actor, runs it, and reads the results.
Is it free? Connecting is free, and some discovery tools work without an account. Actor runs bill to your Apify account at each Actor's price, and the free plan includes $5 of monthly platform usage.
Do I need an API token?
Not with the hosted server, because OAuth signs you in through the browser. The local server needs APIFY_TOKEN or an Apify CLI login.
Can I limit what the agent can do or spend?
Yes. Select tools with the tools parameter or expose a single Actor. To cap a run's cost, pass maxTotalChargeUsd for pay-per-event Actors or maxItems for pay-per-result Actors in call-actor options.
🔧 Development
This repository contains the open-source server package published to npm as @apify/actors-mcp-server. The hosted service at mcp.apify.com runs on this core logic from a separate private repository.
You need Node.js 22 or later and pnpm.
The development HTTP server doesn't read APIFY_TOKEN from the environment. Pass your token in an Authorization: Bearer header or a ?token= query parameter, for example from the MCP Inspector.
To publish a canary build of a pull request to pkg.pr.new, add the beta label to it.
DEVELOPMENT.md covers the project structure, tool loading phases, the Node.js version policy, and testing.
🤝 Contributing
Bug reports, feature requests, and documentation fixes are welcome. Open an issue with steps to reproduce a bug, or describe the problem a feature would solve and who runs into it. Send typos, broken links, and wrong commands straight to a pull request. For code, work only on an issue a maintainer has invited you to pick up; unsolicited pull requests are closed.
Read CONTRIBUTING.md before you start, including the rules for AI-assisted contributions.
🔒 Privacy and license
Requests and Actor inputs go to the Apify API to run the Actors you call. Apify doesn't share them with third parties beyond what running those Actors requires. See Apify legal documents for details on data collection and retention.
The project is licensed under the MIT license.
📚 Learn more
- MCP documentation: authentication, tool reference, and advanced configuration
- Apify for AI agents: choosing between MCP, plugins, agent skills, the CLI, and machine-readable docs
- Apify agent skills: guided multi-step workflows, installed with
npx skills add apify/agent-skills - Apify CLI: running and building Actors from a terminal
- Model Context Protocol
- MCP for beginners
- How to use MCP with Apify Actors
- Webinar: Building and monetizing MCP servers on Apify
Source: README.md at commit 8bde569
Tools
0Version history
19- v0.21.4LatestNov 7, 2026
- v0.21.3Nov 6, 2026
- v0.21.2Nov 5, 2026
- v0.20.2Nov 4, 2026
- v0.20.1Nov 3, 2026
- v0.20.0Oct 29, 2026
- v0.19.3Oct 21, 2026
- v0.19.1Oct 20, 2026
- v0.19.0Oct 19, 2026
- v0.18.4Oct 16, 2026
- v0.18.3Oct 15, 2026
- v0.18.2Oct 14, 2026
- v0.18.0Oct 13, 2026
- v0.17.4Oct 7, 2026
- v0.17.3Oct 6, 2026
- v0.17.2Oct 5, 2026
- v0.17.1Sep 30, 2026
- v0.16.0Sep 17, 2026
- v0.15.7Sep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Apify integrations
Video Frame Extractor (Apify actor)
dev.pages.video-frames-to-images
Apify-hosted MCP server that lets an assistant extract frames from video file URLs as images, billed to your own Apify account.
Broken Link Checker (Apify actor)
dev.pages.check-broken-links
An Apify actor exposed through Apify's MCP server that finds dead links on a page or small site.

Naukri Jobs Scraper (Apify) - Naukri.com jobs with salary in LPA
Published by GitHub account datadmon
Apify-hosted MCP access to the Naukri Jobs Scraper actor, letting an assistant pull Naukri.com job listings with salary in LPA, skills, applicants and full…

India Jobs MCP (Apify) - ten Indian boards for AI agents
Published by GitHub account datadmon
Remote Apify-hosted MCP server that lets an assistant search ten Indian job boards through five tools, with results billed to your own Apify account.

India Jobs Feed (Apify) - 10 Indian job boards in one search
Published by GitHub account datadmon
Apify-hosted MCP server that lets an assistant search ten Indian job boards in one query and get deduplicated job records with salary in LPA.