Can a Custom GPT read live crypto prices?

Out of the box, no. A Custom GPT is still a language model with a frozen training cutoff, so if you ask it for today's Bitcoin price it will guess. But a Custom GPT has one feature that fixes this: Actions.

An Action lets a GPT call an external REST API at conversation time. You give it an OpenAPI schema describing the endpoints, and the GPT decides when to call them, formats the request, and reads the JSON back. That turns a guessing chatbot into one that queries live crypto market data whenever a question needs it.

The whole setup is a schema import plus an API key. No code, no server to host. Below is the exact flow.

MCP vs Custom GPT Actions: which do you need?

We ship both an MCP server and this OpenAPI surface. They target different clients — pick by where your agent lives:

Custom GPT ActionsMCP server
ClientChatGPT Custom GPTsClaude, Cursor, Claude Code
SetupImport OpenAPI schema in the GPT builderAdd one line to a config file
HostingNone — OpenAI calls the APILocal subprocess (npx)
Best forSharing a GPT with non-technical usersCoding agents and power users

If your audience uses ChatGPT, Actions is the path. If they use Claude or a coding agent, use the MCP server (claude mcp add --transport http cryptodataapi https://cryptodataapi.com/mcp). This article covers Actions.

Import our OpenAPI spec as an Action

In the ChatGPT Custom GPT builder, open Configure → Actions → Create new action, then under Schema choose Import from URL and paste our public spec:

https://cryptodataapi.com/api/openapi.json

The spec is allowlisted to the /api/v1/* surface, so the GPT sees only clean, callable data endpoints — no internal or HTML routes. Once imported, ChatGPT lists every operation it can now call:

If you want a curated subset instead of the full spec, trim the paths object before importing so the GPT only offers the endpoints your use case needs.

Authentication: adding your API key

The data endpoints require a key. In the Action's Authentication panel, choose API Key, set the type to Custom Header, and configure:

FieldValue
Auth typeAPI Key
Header nameX-API-Key
Key valuecdk_live_yourkey

Need a key first? Mint a free one with a single request — no dashboard required:

curl -X POST https://cryptodataapi.com/api/v1/auth/keys \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]"}'

ChatGPT stores the key with the Action and attaches the X-API-Key header automatically on every call. Your users never see it.

Example: a market-briefing GPT

With the Action wired up, give your GPT instructions that tell it when to call which endpoint. Paste something like this into the GPT's Instructions box:

You are a crypto market analyst. For any question about current
market conditions, call GET /api/v1/daily first for the overview.
For sentiment questions, call GET /api/v1/sentiment/fear-greed.
For a specific coin, call GET /api/v1/coins/{symbol}.
Always report the snapshot timestamp and never state a number
that did not come from an Action response.

Now a user can ask “is the market overheated?” and the GPT calls /daily, reads the real health score and Fear & Greed value, and answers from live data. The final rule — never state a number that did not come from an Action — is what stops it from padding the answer with hallucinated figures.

Troubleshooting and when to use this

A few things trip people up on first setup:

Use Custom GPT Actions when you want to ship a shareable crypto assistant to people who live in ChatGPT — a market-briefing GPT, a research helper, an on-chain explainer. It is the lowest-effort way to give a GPT real, current market data.

Build it now: import cryptodataapi.com/api/openapi.json as an Action and grab a free key at cryptodataapi.com.