Pay-per-call AI agent utilities plus a free feedback endpoint: JSON diff, EXIF extraction, metadata scrubbing, HTML-to-Markdown, URL fetching, and feature-request collection. $0.003/call for paid utility routes via x402 on Base or Solana.
Price
from $0.0030
per request
Network
base
Category
ai
On-chain txns
32
Uptime
100%
Avg latency
53ms
Checks
89
Status
Healthy
Discovered from on-chain x402 payment activity. Prices shown are per-call in USDC.
Compare two JSON objects or arrays and get a structured list of differences. Returns RFC 6902-style patch operations (add, remove, replace) with JSON Pointer paths (RFC 6901). Useful for change detection, audit logging, config comparison, and finding what changed between two API responses. Send {"left": <original>, "right": <modified>}. Optional: includeUnchanged (bool) includes unchanged paths; maxDepth (int 1–256, default 64) limits traversal depth.
Remove all embedded metadata (EXIF, XMP, IPTC) from a JPEG or PNG image and return the cleaned image binary. Use this to strip GPS coordinates, camera info, author data, and other privacy-sensitive metadata before sharing or publishing images. Send raw binary body (Content-Type: image/jpeg or image/png) or multipart/form-data with field 'file'. Max 5 MB. Returns cleaned binary image with Content-Type matching the original format.
Fetch a URL and return its text content. Auto-detects the format: HTML is converted to Markdown, JSON is returned as formatted text, and Markdown or plain text is returned as-is. Use when you need to read any URL without knowing its content type in advance. Send {"url": "https://..."}. Remote fetch timeout: 5s, max download size: 2 MB.
Count the number of tokens in a text string using the specified tokenizer encoding. Supports cl100k_base (GPT-4/GPT-3.5, exact BPE), o200k_base (GPT-4o, exact BPE), claude (Claude models, estimated), and gemini (Gemini models, estimated). Use before sending text to an LLM to estimate cost, check context window fit, or enforce token budgets. For base64-encoded images, set content_type='image' for tile-based token estimation. Send {"text": "...", "encoding": "cl100k_base"}. Max 50 MB text.
# one-time setup
npx @apihubio/cli register
npx @apihubio/cli topup 10
# call it
npx @apihubio/cli call https://utilsforagents.com \
-X POST \
-d '{ /* check provider docs for input */ }'
# or save it to Claude/Cursor/Codex
npx @apihubio/cli install
npx @apihubio/cli add https://utilsforagents.comimport { wrapFetchWithPayment } from "@x402/fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
const account = privateKeyToAccount("0xYOUR_PRIVATE_KEY");
const client = createWalletClient({ account, chain: base, transport: http() });
const x402Fetch = wrapFetchWithPayment(client);
const res = await x402Fetch("https://utilsforagents.com", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ /* check provider docs for input */ }),
});
const data = await res.json();This is an external service not operated by APIHub. Listing data is sourced from public on-chain records and third-party indexes. Payment goes directly to the service provider via the x402 protocol. APIHub does not guarantee availability, accuracy, or quality of external services.