Skip to main content

Agentic Payments with Skyfire

Agentic payments enable AI agents to autonomously run Apify Actors using third-party payment providers, without requiring traditional Apify user accounts. This allows agents to discover, execute, and pay for web scraping and automation tasks independently.

Currently, Apify supports agentic payments through Skyfire, a payment network specifically designed for AI agents.

What is Skyfire?

Skyfire is a payment network built specifically for AI agents, enabling autonomous transactions with digital wallets and spending controls. It provides the infrastructure necessary for agents to make payments on behalf of users, allowing truly autonomous AI-driven workflows.

With Skyfire integration, agents can discover available Apify Actors, execute scraping and automation tasks, and pay for services using pre-funded Skyfire tokens, all without human intervention.

Using Skyfire with Apify MCP Server

The Apify MCP server provides the simplest way for agents to access Apify's Actor library using Skyfire payments.

Prerequisites

Before using agentic payments through MCP, you need:

  1. A Skyfire account with a funded wallet - sign up at Skyfire
  2. An MCP client that supports multiple server connections, such as OpenCode, Claude Desktop with MCP support, or other compatible clients
  3. Both MCP servers configured: Skyfire's MCP server and Apify's MCP server

Configuration

Configure your MCP client to connect to both the Skyfire and Apify MCP servers. When connecting to the Apify MCP server for agentic payments, you must include the ?payment=skyfire query parameter in the server URL. This enables the agentic payment flow and informs the agent about payment requirements.

OpenCode Configuration Example

If you're using OpenCode, add this configuration to your opencode.json file (see OpenCode configuration docs for file location on your system):

{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"skyfire": {
"enabled": true,
"type": "local",
"command": [
"npx",
"mcp-remote",
"https://mcp.skyfire.xyz/mcp",
"--header",
"skyfire-api-key: YOUR_SKYFIRE_API_KEY"
]
},
"apify": {
"enabled": true,
"type": "local",
"command": [
"npx",
"mcp-remote",
"https://mcp.apify.com?payment=skyfire"
]
}
}
}

Replace YOUR_SKYFIRE_API_KEY with your actual Skyfire buyer API key, which you can obtain from your Skyfire dashboard.

How It Works

When an agent uses the Apify MCP server with Skyfire payments, the workflow proceeds as follows. The agent searches for suitable Actors using the search tools or works with pre-loaded Actors. When attempting to run an Actor, the agent recognizes the need for a Skyfire PAY token with a minimum of five dollars. The agent automatically calls the Skyfire MCP server to create a payment token with sufficient funds.

The agent then calls the Actor tool with the payment token. The Apify platform validates the token and starts the Actor run. When the run completes, Apify's billing system charges the Skyfire PAY token for the actual usage cost. Any unused funds remain available in the token for future runs or are returned to your Skyfire wallet when the token expires. This means you won't lose money if the actual usage is less than the five dollar minimum.

Finally, the agent receives the Actor results and can retrieve additional data if needed.

Pre-loading Actors

For more predictable workflows, you can pre-load specific Actors when connecting to the MCP server by adding them to the URL:

https://mcp.apify.com?payment=skyfire&actors=actor1,actor2,actor3

Replace actor1,actor2,actor3 with the actual Actor IDs you want to make available, such as junglee/Amazon-crawler,streamers/youtube-scraper.

Actor Discovery

When not pre-loading Actors, agents can discover suitable Actors dynamically using the search tools. The search automatically filters results to show only Actors that support agentic payments.

Using Skyfire with Apify API

For direct API integration, you can use Skyfire PAY tokens to authenticate and pay for Actor runs.

Authentication

Instead of using a traditional Apify API token, pass your Skyfire PAY token in the request header:

skyfire-pay-id: YOUR_SKYFIRE_PAY_TOKEN

Running an Actor

Make a standard Actor run request to the run Actor endpoint, but include the Skyfire PAY token in the header. Here's an example using the synchronous run endpoint:

curl -X POST \
'https://api.apify.com/v2/acts/ACTOR_ID/run-sync' \
-H 'skyfire-pay-id: YOUR_SKYFIRE_PAY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"input": {
"your": "input"
}
}'

You can also use the asynchronous run Actor endpoint if you don't need to wait for results immediately.

Retrieving Results

After your Actor run completes, you can retrieve results using the dataset endpoints or key-value store endpoints. Include the same skyfire-pay-id header to authenticate these requests.

Limitations

Supported Actors

Not all Actors in the Apify Store can be run using agentic payments.

Apify maintains a curated list of Actors approved for agentic payments. To check if an Actor supports agentic payments, use the allowsAgenticUsers=true query parameter when searching the store via API.

Payment Requirements

Your Skyfire PAY token must have at least $5 available to run Actors. However, you'll only be charged for actual usage. If an Actor run costs less than five dollars, the unused funds remain available in your token for future runs or return to your Skyfire wallet when the token expires.

Unsupported Features

The following operations are not supported with agentic payments:

  • Schedule creation or management
  • Standby run initiation
  • Integration setup such as webhooks to external services
  • Actor resurrection after the payment token has been settled

Resources