Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/galaxymind-space:galaxymind-space-market-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Galaxy Mind public Market API
version: 2.0.0
summary: Live Bitcoin market signals, treasury mNAV, float, and a vendor directory.
description: 'Read-only JSON endpoints powering galaxymind.space. All GET, no auth. Every endpoint is edge-cached (see x-cache-seconds per path) and fail-closes to neutral/null values rather than erroring when an upstream source is down. Data sources: CoinGecko, Yahoo Finance, bitcointreasuries.net, alternative.me, Coinmetrics, OKX, mempool.space. An MCP server with the same data is at /api/mcp/mcp (Streamable HTTP transport).'
contact:
name: Galaxy Mind
url: https://galaxymind.space
license:
name: Public data · attribution appreciated
identifier: CC-BY-4.0
servers:
- url: https://galaxymind.space
description: Production
tags:
- name: Market
description: Live BTC market signals
paths:
/api/stack:
get:
tags:
- Market
operationId: getStackVerdict
summary: Bitcoin Buying Gauge verdict
description: The 0-100 buying-pressure score, tier, and the 10 weighted signal readings (MVRV, Mayer, Puell, funding, Fear & Greed, price-vs-30d-MA, realized vol, hour-of-day, day-of-week, MSTR mNAV).
responses:
'200':
description: Verdict with score, tier, and signal breakdown.
content:
application/json:
schema:
type: object
x-cache-seconds: 120
/api/stack/history:
get:
tags:
- Market
operationId: getStackHistory
summary: Daily gauge history (JSON or CSV)
description: 'Daily snapshots of the buying gauge, oldest-first. CSV columns: date,score,tier. Backed by the daily snapshot cron, so coverage starts when snapshots began.'
parameters:
- name: days
in: query
required: false
schema:
type: integer
enum:
- 30
- 90
- 180
- 365
default: 90
description: Window length. Any other value falls back to 90; the response echoes the window actually used.
- name: format
in: query
required: false
schema:
type: string
enum:
- csv
description: Omit for JSON; `csv` returns text/csv.
responses:
'200':
description: Object {history, count, asOf} where history is [{date, score, tier}], oldest-first. NOT a bare array.
content:
application/json:
schema:
type: object
x-cache-seconds: 300
/api/pulse:
get:
tags:
- Market
operationId: getPulseArchive
summary: Weekly Pulse archive
description: 'One entry per ISO week: that week''s gauge verdict, in-play float and weekly delta, cheapest treasury mNAV, and directory growth. Answers "what happened this week" where /api/stack answers "what is true now". Written by the Monday 00:30 UTC cron; the archive is capped, so depth grows with time rather than being backfilled.'
responses:
'200':
description: Object {count, weeks, asOf}, weeks newest-first.
content:
application/json:
schema:
type: object
x-cache-seconds: 1800
/api/status:
get:
tags:
- Market
operationId: getStatus
summary: Data-source health (CORS-open · always 200)
description: 'Per-source freshness plus whether each surface is live or on fallbacks. CONTRACT: this route ALWAYS returns HTTP 200, even on internal error, so a monitor watching it never pages because the status route itself hiccuped — read the body''s `ok` field, not the status code.'
responses:
'200':
description: '{ ok, asOf, sources[] }.'
content:
application/json:
schema:
type: object
x-cache-seconds: 120
/api/float-heartbeat:
get:
tags:
- Market
operationId: getFloatHeartbeat
summary: Lightweight in-play float (CORS-open)
description: ~200-byte payload powering the embeddable Supply Clock. Carries the in-play float, a drain rate, and an honest state lamp (DRAINING / REFILLING / BASELINE / SYNCING).
responses:
'200':
description: Compact float payload with state.
content:
application/json:
schema:
type: object
x-cache-seconds: 300
/api/heartbeat:
get:
tags:
- Market
operationId: getHeartbeat
summary: Lightweight gauge + block height (CORS-open)
description: '~120-byte payload: { blockHeight, score, tier, asOf, btcPrice, degraded }. This is the only CORS-open, 30s-cached surface that carries BTC spot, which makes it the right poll target for a browser widget that needs price. CORS-open for third-party embeds. `degraded:true` means ≥4/8 signals were null at snapshot time.'
responses:
'200':
description: blockHeight, score, tier, asOf, btcPrice, degraded.
content:
application/json:
schema:
type: object
x-cache-seconds: 30
/api/market:
get:
tags:
- Market
operationId: getMarketSnapshot
summary: Full market snapshot
description: 'Everything the gauge is built from: BTC price, 30d realized vol, Fear & Greed, MVRV, Puell, funding rate, treasury rows, block height, and ~400d of hourly closes. Large (~hundreds of KB) · prefer /api/heartbeat or /api/stack for polling.'
responses:
'200':
description: MarketSnapshot.
content:
application/json:
schema:
type: object
x-cache-seconds: 300
x-rentals: 'Galaxy Mind rents its hashrate on MiningRigRentals now. Start at https://galaxymind.space/hashrate: pick how much hashrate you want in 270 TH/s units and each free unit has its own Rent button. Direct rental routes on this site answer 410 direct_rentals_closed with rentUrl (https://galaxymind.space/hashrate).'