A RESTful API for accessing Chainlink price feed data across multiple blockchain networks
The Chainlink Feeds API provides a simple, fast, and reliable way to query Chainlink oracle price feed data across multiple blockchain networks. Whether you're building a DeFi application, analytics dashboard, or research tool, this API gives you programmatic access to thousands of price feeds.
Live API: https://chainlink-feeds.alwaysbeshipp.ing
- 🌐 Multi-Chain Support - Access feeds from Ethereum, Polygon, Arbitrum, Base, Optimism, and more
- 🔍 Flexible Filtering - Query by base asset, quote asset, or both
- ⚡ Fast & Cached - Edge cache provided by Vercel
- 📊 Rich Metadata - Get contract addresses, decimals, heartbeat, and more
- 🎨 Clean API Design - RESTful endpoints with JSON responses
- 🔒 TypeScript First - Full type safety and IntelliSense support
GET /api/feeds/[chain]Example:
curl https://chainlink-feeds.alwaysbeshipp.ing/api/feeds/ethereumGET /api/feeds/[chain]?base=[asset]Example:
curl https://chainlink-feeds.alwaysbeshipp.ing/api/feeds/ethereum?base=ethGET /api/feeds/[chain]?base=[asset]"e=[asset]Example:
curl https://chainlink-feeds.alwaysbeshipp.ing/api/feeds/ethereum?base=eth"e=usdethereum- Ethereum Mainnetpolygon- Polygon (Matic)arbitrum- Arbitrum Onebase- Baseoptimism- Optimismlinea- Lineaandromeda- Metis Andromedamantle- Mantlemoonbeam- Moonbeammoonriver- Moonriverbob- BOB (Build on Bitcoin)botanix- Botanixhyperevm- Hyperliquid EVM
... and more! See lib/feeds.ts for the complete list.
{
"status": "ok",
"chain": "ethereum",
"feed": {
"name": "ETH / USD",
"pair": ["ETH", "USD"],
"assetName": "ETH / USD",
"feedType": "Crypto",
"contractAddress": "0x...",
"proxyAddress": "0x...",
"decimalPlaces": 8,
"heartbeat": 3600,
"threshold": 0.5,
"docs": {
"baseAsset": "ETH",
"quoteAsset": "USD",
"blockchainName": "Ethereum",
"assetClass": "Crypto",
// ...additional metadata
}
}
}- Node.js 20+
- Bun (recommended) or npm/yarn/pnpm
- Convex Account (for backend)
-
Clone the repository
git clone https://github.com/always-be-shipping/chainlink-feeds-api.git cd chainlink-feeds-api -
Install dependencies
bun install # or npm install -
Set up Convex
npx convex dev
Follow the prompts to create a new Convex project and set up your environment.
-
Configure environment variables
Create a
.env.localfile:NEXT_PUBLIC_CONVEX_URL=your_convex_deployment_url
-
Start the development server
bun dev # or npm run devThis runs both the Next.js dev server and Convex backend concurrently.
-
Open your browser
Navigate to http://localhost:3000
# Run both Next.js and Convex in development mode
bun dev
# Run only Next.js
bun dev-next
# Run only Convex
bun dev-convex
# Build for production
bun build
# Start production server
bun start
# Run linter
bun lintchainlink-feeds-api/
├── app/
│ ├── api/
│ │ └── feeds/
│ │ └── [chain]/
│ │ └── route.ts # API route handler
│ ├── page.tsx # Homepage
│ ├── layout.tsx # Root layout
│ └── globals. css # Global styles
├── components/
│ └── providers/
│ └── convex. tsx # Convex provider
├── convex/
│ └── _generated/ # Convex generated code
├── lib/
│ └── feeds.ts # Feed fetching logic
├── types/
│ └── feeds. d.ts # TypeScript types
└── public/ # Static assets
- Framework: Next.js 16 (App Router)
- Language: TypeScript 5
- Backend: Convex
- Styling: Tailwind CSS 4
- Runtime: Bun (optional)
- Font: Noto Sans Mono
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is part of the Always be Shipping organization. Check the repository for specific license details.
- Live Demo: https://chainlink-feeds.alwaysbeshipp.ing
- Organization: Always be Shipping
- Chainlink Documentation: https://docs.chain.link
- Price feed data sourced from Chainlink Reference Data
- Built with ❤️ by the Always be Shipping team
Note: This is an unofficial API for accessing Chainlink feed data. For production applications, always verify data directly from on-chain sources.