Search Algobrain
GET/v1/cryptodata/algobrain/search
Search the AlgoBrain strategy wiki (~5k pages: strategies, the Hyperliquid signal baskets, concepts, methodology). **Ranking** (2026-10-10): a page NAMED by the query comes first (its title, an acronym in its title, or an alias), then pages with the whole query as a phrase in their title or aliases, then every term in the title/aliases, then every term anywhere, then any term. Within each tier, concept and strategy pages rank above the ~2.5k generated per-coin pages, then by BM25. Each result says which tier it came from in ``match`` (``exact_title``, ``title_phrase``, ``title_terms``, ``all_terms``, ``any_term``); its ``score`` (BM25) orders results only within a tier. Each result carries ``path``, ``title``, ``type``, ``tags``, a ``snippet`` around the match, a relevance ``score`` (higher is better; null when ``q`` is empty) and ``read`` — the ``/algobrain/page`` URL for the full markdown. Filters without ``q`` list matching pages by title. A bare call (no ``q``, no filter) lists the newest pages by their ``updated`` date, so an agent can discover real paths before it has a query. All tiers. Content is CC BY 4.0. Strategy pages also carry ``strategy``: the authors' frontmatter — ``backtest_status``, ``horizon``, ``strategy_type``, ``complexity``, ``crowding_risk``, ``markets``, ``edge_source`` and the ESTIMATES ``expected_sharpe`` / ``expected_max_drawdown`` / ``breakeven_cost_bps``, labelled ``expected_sharpe_source: "author_estimate"``. They are literature expectations, not results measured on any venue, so results are never ranked by them; filter on ``backtest_status`` (e.g. ``cost-corrected``, ``walk-forward-validated``, ``live``) to find the pages with the most evidence behind them. ``strategy`` is null on non-strategy pages. Each strategy filter is an any-of match (``horizon=swing`` also finds ``swing|position`` pages). ``strategy.runnable`` / ``strategy.gate_counts`` summarise the page's **gates** — each condition the strategy checks mapped to one endpoint and one response field, or marked partial (a human judgement remains) or not runnable (we serve nothing that measures it). ``runnable=all`` finds pages an agent can run end to end. The gates themselves are on ``/algobrain/page``. An unrecognised query parameter is a 400.
Price
$0.01/ callEdge cache
Off
Uptime 24h
100.00%
p95
989ms
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| q | query | string = | Free-text query, e.g. `atr trailing stop trend following`. Omit it and every filter to list the newest pages |
| type | query | string | Page type filter: strategy, concept, entity, market, … |
| tag | query | string | Exact tag filter, e.g. mean-reversion |
| category | query | string | Top-level wiki folder, e.g. strategies, strategy-development, concepts |
| backtest_status | query | string | Strategy pages by the authors' evidence label: untested, naive-backtested, cost-corrected, walk-forward-validated, paper-traded, pilot, live, paused, retired |
| horizon | query | string | Holding style: scalp, intraday, swing, position, long-term. NOT a bar interval (the wiki has no 1h/4h field) |
| strategy_type | query | string | quantitative, hybrid, algorithmic, technical, fundamental, … |
| complexity | query | string | beginner, intermediate, advanced |
| crowding_risk | query | string | low, medium, high |
| market | query | string | Market the strategy is written for, e.g. crypto, options |
| runnable | query | string | Strategy pages by gate coverage: `all` (every condition maps to an endpoint + field), `partial`, `none` |
| limit | query | integer = 10 |
Code
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/cryptodata/algobrain/search"
# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/cryptodata/algobrain/search" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"// npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] });
const pay = wrapFetchWithPayment(fetch, client);
const data = await (await pay("https://api.realtimeapi.ai/v1/cryptodata/algobrain/search")).json();
console.log(data);# pip install x402 eth-account requests
from eth_account import Account
from x402.clients.requests import x402_requests
session = x402_requests(Account.from_key(PRIVATE_KEY))
print(session.get("https://api.realtimeapi.ai/v1/cryptodata/algobrain/search").json())curl "https://api.realtimeapi.ai/v1/cryptodata/algobrain/search" -H "X-API-Key: $RTAPI_KEY"Frequently asked questions
How do I get search algobrain from CryptoDataAPI?
Send GET https://api.realtimeapi.ai/v1/cryptodata/algobrain/search. Pay $0.01 per request with x402, or send an X-API-Key header.
What does GET /algobrain/search cost?
$0.01 per successful request in USDC on Base. Failed requests are never charged.
Can I call this endpoint from an MCP client?
Yes. Connect any MCP client to the RealtimeAPI server and use call_feed with this endpoint's URL, or get_quote to check the price first.