Install
openclaw skills install orthogonalOrthogonal API Platform - Access 100+ premium APIs using the SDK, Run API, or x402 direct payment. Search, discover, and integrate APIs with simple tool calls.
openclaw skills install orthogonalOrthogonal is a platform for monetizing and consuming APIs. Use these tools to discover, understand, and call any API on the platform.
Base URL: https://api.orth.sh/v1
Get your API key at https://orthogonal.com/dashboard/settings
export ORTHOGONAL_API_KEY=orth_live_your_api_key
Search for APIs using natural language. Returns a lightweight list of matching endpoints.
Endpoint: POST /v1/search
curl -X POST 'https://api.orth.sh/v1/search' \
-H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"prompt": "scrape websites", "limit": 10}'
Parameters:
prompt (string, required): Natural language description of what you're looking forlimit (number, optional): Max results (default: 10, max: 50)Response: List of matching APIs with endpoints (name, description, method, path, price)
Get full details about a specific endpoint including all parameters.
Endpoint: POST /v1/details
curl -X POST 'https://api.orth.sh/v1/details' \
-H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"api": "olostep", "path": "/v1/scrapes"}'
Parameters:
api (string, required): API slug from search results (e.g., "olostep", "linkup")path (string, required): Endpoint path from search results (e.g., "/v1/scrapes")Response: Full endpoint details including:
Get ready-to-use code snippets for integrating an endpoint.
Endpoint: POST /v1/integrate
curl -X POST 'https://api.orth.sh/v1/integrate' \
-H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"api": "olostep", "path": "/v1/scrapes", "format": "orth-sdk"}'
Parameters:
api (string, required): API slugpath (string, required): Endpoint pathformat (string, optional): Code format - one of:
orth-sdk (default) - Orthogonal SDK (@orth/sdk)run-api - Direct HTTP to /v1/runx402-fetch - x402 payment with JavaScriptx402-python - x402 payment with Pythoncurl - cURL commandall - All formatsResponse: Code snippets ready to copy-paste
Call an API endpoint using your Orthogonal credits.
Endpoint: POST /v1/run
curl -X POST 'https://api.orth.sh/v1/run' \
-H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"api": "olostep",
"path": "/v1/scrapes",
"body": {
"url_to_scrape": "https://example.com"
}
}'
Parameters:
api (string, required): API slugpath (string, required): Endpoint pathquery (object, optional): Query parametersbody (object, optional): Request bodyResponse:
{
"success": true,
"price": 0.01,
"data": { /* API response */ }
}
List all discoverable APIs with their endpoints. Returns paginated APIs, each containing their endpoints. Use sparingly - prefer search for specific needs.
Endpoint: GET /v1/list-endpoints
curl 'https://api.orth.sh/v1/list-endpoints?limit=100' \
-H 'Authorization: Bearer $ORTHOGONAL_API_KEY'
Parameters:
limit (number, optional): Max APIs to return per page (default: 100, max: 500)offset (number, optional): Pagination offset for APIsResponse: List of APIs, each with nested endpoints array
POST /v1/search with natural languagePOST /v1/details to see required paramsPOST /v1/run with the paramsOr for integration:
For the simplest integration, use the Orthogonal SDK:
npm install @orth/sdk
import Orthogonal from "@orth/sdk";
const orthogonal = new Orthogonal({
apiKey: process.env.ORTHOGONAL_API_KEY,
});
// Search for APIs
const search = await orthogonal.search("web scraping");
// Call an API
const result = await orthogonal.run({
api: "olostep",
path: "/v1/scrapes",
body: { url_to_scrape: "https://example.com" }
});
Pay directly with USDC on Base blockchain - no API key required:
import { wrapFetchWithPayment } from "x402-fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPayment = wrapFetchWithPayment(fetch, account);
const response = await fetchWithPayment(
"https://x402.orth.sh/olostep/v1/scrapes",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ url_to_scrape: "https://example.com" })
}
);