Skip to main content
GET

Overview

Natural-language search over the catalog, with no account needed. The response is a reduced tool shape: no security schemes, base URL or credential details, so it is safe to serve to anyone. The dashboard’s workflow builder uses it for tool discovery. Ordering: an exact name or slug match is pinned first. Sample-data services (JSONPlaceholder, DummyJSON) are moved behind every real service unless the query names them. Deprecated tools stay listed until their sunset date passes; the flag and its reason let you avoid them. When search could not run at all (a database timeout), the response is 503 with Retry-After: 1, so it is never mistaken for zero matches. Requests are limited to 30 per minute per IP address by default. Auth: None required. Sending an API key (danube-api-key header) or a JWT changes only readiness: signed-in callers see which results they can run right now, and those are ranked first. Anonymous callers see no-auth tools as ready and everything else as needs_credential, in the catalog’s own order.

Query Parameters

string
default:""
What you are looking for. An empty or whitespace-only query returns an empty list.
string
Restrict results to one service
integer
default:20
Maximum results to return. The search itself never produces more than 30 matches.
boolean
default:false
Keep only tools whose readiness is ready. For an anonymous caller that means tools that need no credential. Applied before limit, so the page is not short.
number
Between 0 and 1. Drops tools whose 30-day success rate is known and below the bar. Tools without a meaningful sample are kept, since unknown is not the same as bad.

Response

Returns an array of trimmed tool objects.
string
Tool UUID
string
Tool name
string
Human-readable identifier, or null
string
Tool description
string
Parent service UUID
object
Keyed by parameter name. Each entry has name, location, description, type and required, plus default, enum, minimum, maximum, encode_slashes and json_schema when set.
string
ready, needs_credential or unavailable for this caller
string
Where to connect the service. Set only when readiness is needs_credential.
object
30-day reliability block, or null when the tool has not been called in the window. Keys: window_days, calls_7d, calls_30d, success_rate_30d (null below 10 calls), p50_seconds, p95_seconds, last_success_at, last_failure_at, last_error_class, last_error_type, error_classes, faults, auth_failures_30d, caller_failures_30d, danube_failures_30d, upstream_failures_30d, distinct_callers_30d, flagged, refreshed_at.
boolean
Whether the tool is deprecated
string
Why it was deprecated, or null
string
When a deprecated tool stops being listed, or null

Example

The Python and TypeScript SDKs do not wrap this endpoint. Their tools.search methods call the authenticated Search Tools endpoint, as does the search_tools MCP tool.