Skip to content

Repository files navigation

Apify for Open Code

Official Apify plugin for Open Code — adds the Apify MCP server, one apify routing agent, and five bundled skills for the main Apify workflows: using existing Actors, building and deploying your own Actors, actorizing existing projects, generating Actor output schemas, and integrating Apify into existing applications.

Apify is a platform of thousands of serverless cloud programs called Actors for web scraping, browser automation, and data extraction. Learn more at apify.com.

What you get

Component Name Purpose
Agent (entry point) apify Routes every Apify request to the right skill or transport path. This is the one you should invoke.
MCP server apify (https://mcp.apify.com/) Lets the agent search the Apify Store, fetch Actor details, run Actors, and read the Apify docs.
Skill apify-actor-development Create, debug, and deploy a brand new Apify Actor from scratch.
Skill apify-actorization Convert an existing JS/TS, Python, or CLI project into an Apify Actor.
Skill apify-generate-output-schema Generate dataset_schema.json / output_schema.json / key_value_store_schema.json for an existing Actor.
Skill apify-sdk-integration Add Apify Actor execution to an existing application using the apify-client package.
Skill apify-ultimate-scraper CLI-driven data extraction workflow for selecting, configuring, and running pre-built Actors across 15+ platforms.

Prerequisites

First-run setup

The plugin uses three setup paths depending on what you're doing. The apify agent will guide you through the right one, but here is the high-level map.

Path 1 — Using existing Actors through MCP

Uses OAuth. The first time the agent calls a tool that needs auth (for example call-actor or get-dataset-items), Open Code opens console.apify.com in your browser and asks you to sign in. Read-only tools such as search-actors, fetch-actor-details, search-apify-docs, and fetch-apify-docs work without auth.

Path 2 — CLI workflows for Actor development, actorization, or scraper runs

These skills expect the local apify CLI to be available. Install it first:

npm install -g apify-cli

For interactive use, authenticate with:

apify login

In headless or CI environments, export an APIFY_TOKEN instead; the CLI can read it automatically:

export APIFY_TOKEN="apify_api_xxxxxxxxxxxx"

Generate a token at console.apify.com/settings/integrations. Don't have an account? Sign up free — no credit card required.

Path 3 — SDK integration into an existing application

Uses an APIFY_TOKEN environment variable with the apify-client package or the REST API:

export APIFY_TOKEN="apify_api_xxxxxxxxxxxx"

Installation

1. Add the plugin to your project

Add the plugin entry to your project's opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-apify"]
}

Or run:

opencode plugin opencode-apify

This will add the entry to opencode.json automatically.

Local development: you can also pass a file path instead of the package name for local testing, e.g. "plugin": ["./path/to/opencode-apify"].

2. Check available MCPs

opencode mcp list

3. Authenticate

opencode mcp auth apify

4. Verify the setup

opencode run "List the names of all skills and instructions available to you, and list of MCPs you can use + allowed tools"

If everything is working, you should see the apify agent, the five skills, and the Apify MCP tools listed in the output.

Working in headless / SSH environments (no browser)

The MCP OAuth flow needs a browser. If you're running Open Code over SSH or in any environment without a browser, you have these options:

  1. Authenticate locally first. Run Open Code once on your laptop so the OAuth refresh token is stored, then reconnect remotely.
  2. Use the CLI-based skills. apify-actor-development, apify-actorization, and apify-ultimate-scraper can work in headless environments when the apify CLI is installed and APIFY_TOKEN is exported.
  3. Use the SDK integration skill. apify-sdk-integration uses apify-client and only needs APIFY_TOKEN.

How to use it

Start an Open Code session and describe what you need. The apify agent reads the request, chooses between MCP, CLI, or SDK-based workflows, and dispatches to the right skill or tool.

find me 5 well-rated coffee shops in Seattle and export to CSV
build me an Actor that scrapes a sitemap and stores titles
add Apify to this Next.js app so I can run a scraper from /api/scrape
generate output schemas for the Actor in this folder

Components reference

MCP server

The apify MCP server is configured automatically by the plugin and the agent uses it for Route 1 tasks. It exposes:

  • search-actors — search the Apify Store by keyword (no auth)
  • fetch-actor-details — Actor specs, input schema, pricing (no auth)
  • run-actor — execute an Actor and return results (OAuth)
  • get-dataset-items — retrieve dataset rows from a previous run (OAuth)
  • search-apify-docs / fetch-apify-docs — Apify documentation lookup

Bundled skills

The bundled skills ship with markdown references that the agent uses while working:

  • skills/apify-actor-development/references/ — Actor config, schemas, logging, standby mode, and README guidance
  • skills/apify-actorization/references/ — JS/TS, Python, and CLI actorization guides plus schema/output notes
  • skills/apify-ultimate-scraper/references/ — Actor index, gotchas, and workflow playbooks for common scraping use cases

Route 1 uses the MCP server, Route 2 relies on the local apify CLI, and Route 3 uses the apify-client SDK.

Troubleshooting

OAuth browser never opens / hangs. See the "Working in headless / SSH environments" section above and switch to a CLI- or SDK-based path if needed.

apify CLI not found. Install it with npm install -g apify-cli before using apify-actor-development, apify-actorization, or apify-ultimate-scraper.

APIFY_TOKEN not found. Export APIFY_TOKEN in your shell before starting Open Code when using headless CLI auth or the apify-sdk-integration skill.

The wrong skill keeps getting picked. The five bundled skills are routed through the apify agent. If routing looks wrong, describe the goal more explicitly: use existing Actors, build an Actor, actorize a project, generate output schemas, or integrate Apify into an app.

apify vs apify-client — these are two different npm packages. The apify package is the SDK for building Actors (used inside an Actor's code, on the Apify platform). The apify-client package is the API client for calling Actors from your own application. The agent picks the right one for you; if you're installing manually, double-check.

Resources

License

Apache-2.0. See LICENSE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages