GET Search Actions
Search across all Wire actions by query, catalog, or category
GET
https://api.anakin.io/v1/holocron/searchFind Wire actions across every catalog in a single request. Useful when you know what you want to do (e.g. "search listings", "fetch profile") but don't yet know which catalog or action_id to call.
Requires an X-API-Key. Each result includes a connected flag indicating whether you already have an active credential for that catalog.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
q | string | Free-text query — matches against action name, description, and tags |
catalog | string | Restrict results to a single catalog slug (e.g. airbnb) |
category | string | Restrict results to a catalog category (e.g. travel, commerce) |
auth | string | Set to false to exclude actions that require authentication |
All filters are optional and combine with AND semantics. Omitting every filter returns all visible actions.
Response
200 OK{
"results": [
{
"action_id": "ab_search_listings",
"catalog_name": "Airbnb",
"catalog_slug": "airbnb",
"name": "Search Listings",
"description": "Search Airbnb listings by query, dates, and guest count.",
"mode": "async",
"auth_mode": "none",
"auth_required": false,
"connected": false,
"params": {
"type": "object",
"properties": {
"query": { "type": "string" },
"checkin": { "type": "string" },
"checkout": { "type": "string" },
"adults": { "type": "integer" }
},
"required": ["query"]
},
"credits": 1
}
]
}| Field | Type | Description |
|---|---|---|
results[].action_id | string | Pass this as action_id to POST /v1/holocron/task |
results[].catalog_name | string | Display name of the parent catalog |
results[].catalog_slug | string | Slug of the parent catalog — use with GET /v1/holocron/catalog/{slug} for full details |
results[].mode | string | async or sync |
results[].auth_mode | string | "none" | "optional" | "required". See execute-task for semantics |
results[].auth_required | boolean | Deprecated legacy mirror — true iff auth_mode === "required" |
results[].connected | boolean | true if you already have an active credential for this catalog |
results[].params | object | JSON Schema for the action's params payload |
results[].credits | integer | Base credit cost per call |
Code Examples
# Search across all catalogs
curl "https://api.anakin.io/v1/holocron/search?q=listings" \
-H "X-API-Key: your_api_key"
# Restrict to one catalog and exclude auth-required actions
curl "https://api.anakin.io/v1/holocron/search?catalog=airbnb&auth=false" \
-H "X-API-Key: your_api_key"import requests
response = requests.get(
'https://api.anakin.io/v1/holocron/search',
params={'q': 'listings', 'auth': 'false'},
headers={'X-API-Key': 'your_api_key'},
)
for r in response.json()['results']:
print(f"{r['catalog_slug']:15} {r['action_id']:30} {r['credits']} cr {r['name']}")const url = new URL('https://api.anakin.io/v1/holocron/search');
url.searchParams.set('q', 'listings');
url.searchParams.set('auth', 'false');
const response = await fetch(url, {
headers: { 'X-API-Key': 'your_api_key' }
});
const { results } = await response.json();
for (const r of results) {
console.log(`${r.catalog_slug.padEnd(15)} ${r.action_id.padEnd(30)} ${r.credits} cr ${r.name}`);
}Rate Limit
30 requests per minute per IP.