OpenClaw · Skill
Orthogonal
Orthogonal is a platform for monetizing and consuming APIs. Use these tools to discover, understand, and call any API on the platform.
Install
Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.
Primary command
clawhub install christianpickettcode/orthogonalClawHub installer
npx clawhub@latest install christianpickettcode/orthogonalOpenClaw CLI
openclaw skills install christianpickettcode/orthogonalDirect OpenClaw install
openclaw install christianpickettcode/orthogonalWhat this skill does
Orthogonal is a platform for monetizing and consuming APIs. Use these tools to discover, understand, and call any API on the platform.
Why it matters
Searching and calling 100+ APIs through one unified endpoint removes the overhead of managing separate accounts, keys, and SDKs for each provider.
Typical use cases
- Finding a web scraping API without managing separate provider accounts
- Getting ready-to-paste code snippets for a third-party API integration
- Calling a paid data API using a single unified credit balance
- Discovering what APIs exist for a specific task like geocoding or OCR
- Paying for API calls with USDC instead of a credit card subscription
Source instructions
Orthogonal Platform
Orthogonal 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
Authentication
Get your API key at https://orthogonal.com/dashboard/settings
export ORTHOGONAL_API_KEY=orth_live_your_api_key
Tools
1. search
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)
2. get_details
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:
- Path parameters
- Query parameters (name, type, required, description)
- Body parameters (name, type, required, description)
- Pricing information
- Documentation URL
3. integrate
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 formats
Response: Code snippets ready to copy-paste
4. use (run)
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 body
Response:
{
"success": true,
"price": 0.01,
"data": { /* API response */ }
}
5. list_all (optional)
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 APIs
Response: List of APIs, each with nested endpoints array
Typical Workflow
- Search for what you need:
POST /v1/searchwith natural language - Get details for the endpoint:
POST /v1/detailsto see required params - Use the endpoint:
POST /v1/runwith the params
Or for integration:
- Search → Get details → Integrate to get code snippets
SDK 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" }
});
x402 Direct Payment
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" })
}
);
Support
- Documentation: https://orthogonal.com/dashboard/docs
- Browse APIs: https://orthogonal.com/discover
- Book a call: https://orthogonal.com/book