For agents · Datasource Pulse
Agent access
Three ways for an agent (or the human wiring one up) to run Datasource Pulse: Apify’s official MCP server, the plain Apify API, or the x402 endpoint that needs no account of any kind. Every snippet below is copy-paste ready; the example check pings a public URL, so no secrets are required to try it.
From the blog · July 24, 2026
An AI agent just paid our API two cents. No account. No card. No human.
The full story of the first agent payment: $0.02 in USDC on Base, settled on a public blockchain, with the transaction receipt inside.
Read the post →MCP
Apify runs an official MCP server; the URL below scopes it to this Actor, so a connected agent sees Datasource Pulse as a callable tool with its full input schema. Works today in any MCP client. Bring an Apify token; clients that support OAuth can omit the header and sign in instead.
{
"mcpServers": {
"datasource-pulse": {
"url": "https://mcp.apify.com/?tools=growth_wizard/datasource-pulse",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}Direct API (curl)
One synchronous call: run the Actor and get the dataset back. The response is one status record per connector checked, with a stable failure_class enum an agent can branch on.
curl -X POST \
"https://api.apify.com/v2/acts/growth_wizard~datasource-pulse/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"checks": [{
"type": "credential",
"id": "public-ping",
"label": "Public ping - GitHub Zen",
"vendor": "generic_http",
"url": "https://api.github.com/zen",
"successStatusCode": 200
}]
}'LangChain
Via Apify’s official LangChain integration. The tool exposes the same JSON input; results come back as the run’s dataset records.
# pip install langchain-apify
# export APIFY_API_TOKEN=your_token
from langchain_apify import ApifyActorsTool
tool = ApifyActorsTool("growth_wizard/datasource-pulse")
result = tool.invoke(input={"run_input": {"checks": [{
"type": "credential",
"id": "public-ping",
"vendor": "generic_http",
"url": "https://api.github.com/zen",
"successStatusCode": 200
}]}})x402: no account at all
A single health check for $0.02 in USDC on Base, paid per request. No Apify account, no API key, no signup. Calling the endpoint unpaid returns a standard x402 v1 envelope carrying the price, the pay-to address, and the full input and output schemas: the 402 is the documentation.
curl -si -X POST https://datasourcepulse.com/api/x402/check \
-H "Content-Type: application/json" -d '{}'
# -> HTTP 402 + JSON envelope: price, pay-to, input/output schemasPaying takes one wrapped fetch:
// npm i x402-fetch viem
import { wrapFetchWithPayment } from "x402-fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.WALLET_KEY);
const payFetch = wrapFetchWithPayment(fetch, account);
const res = await payFetch("https://datasourcepulse.com/api/x402/check", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
vendor: "generic_http",
url: "https://api.github.com/zen",
successStatusCode: 200,
}),
});
console.log(await res.json()); // { state, failure_class, ... }The endpoint is listed in Coinbase’s public x402 catalog (the Bazaar), and every settlement is public: live payment feed on x402scan · how the first payment went.
This origin also publishes its x402 manifest at /.well-known/x402.json: the standard DiscoveredResource envelope with full input and output schemas, so an agent can learn what is payable here without a facilitator or a prior transaction.
Datasource Pulse watches the data sources your product depends on: credentials, quotas, and scraper output quality. One alert when something degrades, one notice when it recovers.