Data Delivery Methods
Choose the right data delivery method for your use case — REST API, WebSocket, or Webhooks.
CoinGecko API offers three ways to access crypto market data, each designed for different use cases. Pick the one that fits how your application consumes data — or combine them for maximum flexibility.

REST API — You ask, we answer
The classic request-response model. Your application sends an HTTP request, and the API returns the data you need.
How it works: Send a GET request to an endpoint → receive a JSON response.
Pro API
Demo API
REST API is available on all plans, including the free Demo plan. View endpoints →
WebSocket — Stay connected, stream live
A persistent, two-way connection that pushes data to your application in real time. No repeated requests needed — once you subscribe, updates flow to you automatically.
How it works: Open a WebSocket connection → subscribe to channels → receive continuous updates.
WebSocket is available on Analyst plan & above. View WebSocket docs →
Webhooks — We notify you when things change
Event-driven HTTP callbacks that push notifications to your server whenever specific data changes occur on CoinGecko — no polling required.
How it works: Register a webhook URL → CoinGecko sends a POST request to your server when an event fires.
Webhooks are available on Analyst plan & above. View Webhook docs →
Quick comparison
Plan access and pricing
Not sure which plan to choose? Check out the pricing page for a full breakdown.
Which method should you use?
I want to build a portfolio tracker
Use REST API to fetch current prices and historical data on a schedule. If you need live price updates on a dashboard, add WebSocket for real-time streaming.
I'm building a trading bot
Use WebSocket for real-time price feeds and trade data. Supplement with REST API for reference data like coin metadata, market cap rankings, or historical OHLC.
I need to keep my database in sync with CoinGecko
Use Webhooks to receive push notifications when coin data changes, so you don’t need to poll the API constantly. Use REST API to backfill or fetch full records on demand.
I'm just getting started / prototyping
Start with REST API — it’s available on all plans (including the free Demo plan) and covers the widest range of data. You can add WebSocket or Webhooks later as your needs grow.
