Weavers API
Explore Weavers API operations for public data, accounts and research workflows. Learn access requirements, request fields, examples, errors and limits.
Your first request.
Start with five market niches. Get structured JSON in the language you already use.
Follow the quickstartcurl --fail-with-body 'https://api.weavers.app/api/niches?limit=5'const response = await fetch("https://api.weavers.app/api/niches?limit=5", {
signal: AbortSignal.timeout(15000),
});
if (!response.ok) {
throw new Error(`Weavers API returned ${response.status}`);
}
const data = await response.json();
console.log(data);import json
from urllib.request import urlopen
with urlopen("https://api.weavers.app/api/niches?limit=5", timeout=15) as response:
data = json.load(response)
print(data)Explore the API
OpenAPIBrowse all 211 customer-facing operations → for accounts, articles, research workspaces, notebooks, optimisation, broker connections and support. Filter by method and access type.
Strategies
Discover published strategies, inspect their evidence, and trace their ancestry.
4 GET endpointsMarket niches
Explore research universes and compare certified strategies through their evidence.
2 GET endpointsPrice channels
Read stored price-channel fits, direction, bands, and data freshness.
1 GET endpointAccess and base URL
Send HTTPS requests to https://api.weavers.app. The seven detailed public read operations use GET and return JSON without authentication. Other operations have account or authentication-flow requirements. Read the authentication and request guide before using them.
The website's www.weavers.app/api/channels helper has a different contract. Use the API hostname consistently.
Understand the data
- Empty is a valid result. A successful list request can return an empty array.
- Missing is not zero. Nullable evidence and metrics mean unavailable or inapplicable information. Channel numeric fields have a separate zero-normalisation caveat in their reference.
- Check freshness. Data is stored, not a guaranteed real-time feed. Read the returned dates and timestamps.
- Examples are illustrative. Replace example identifiers with values returned by a list request.
Errors and request limits
Errors normally include an error string and may include a code or validation details. Your client should check the HTTP status before reading a success payload.
{
"error": "strategy_not_found"
}- 400: check the parameter names, types and allowed values.
- 404: the requested public resource was not found; do not retry unchanged identifiers indefinitely.
- 429: slow down and respect
Retry-Afterwhen present. - 5xx: the service or an upstream dependency failed. Retry with a bounded exponential backoff and jitter.
Request quotas depend on deployment controls; these docs do not promise a fixed allowance. Keep concurrency low and cache results where appropriate. Result limits are separate from request-rate limits.
Always send a small limit on list requests. The strategy list currently has no default cap when it is omitted. These routes do not offer cursor pagination, and niche detail returns the complete certified set.
Compatibility and specification
API paths are currently unversioned. Tolerate additional response fields and unknown lifecycle values, handle nulls explicitly, and review changes before relying on undocumented nested fields. The OpenAPI version identifies a documentation revision, not a new API version.
Use examples from a server or local script. Browser requests from other websites depend on the deployed CORS policy.
Download the OpenAPI specification or contact Weavers about an integration.