curl --request GET \
--url https://api.cryptorank.io/v3/news/feed \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.cryptorank.io/v3/news/feed"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.cryptorank.io/v3/news/feed', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cryptorank.io/v3/news/feed",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cryptorank.io/v3/news/feed"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cryptorank.io/v3/news/feed")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cryptorank.io/v3/news/feed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 1234567,
"title": "Bitcoin breaks new all-time high",
"heroText": "<string>",
"source": "CoinDesk",
"sourceUrl": "https://www.coindesk.com/markets/2024/01/01/btc-ath",
"previewImage": "https://img.cryptorank.io/news/abc.jpg",
"publishedDate": "2024-01-01T12:34:56.000Z",
"language": "en",
"hasMainText": true,
"tags": [
{
"id": 5,
"key": "defi",
"name": "DeFi"
}
],
"assignedTokens": [
{
"id": 1,
"slug": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC"
}
],
"assignedFunds": [
{
"id": 12,
"name": "Pantera Capital",
"slug": "pantera-capital"
}
]
}
],
"meta": {
"nextCursor": "eyJpZCI6MTIzNH0="
},
"status": {
"usedCredits": 1,
"timestamp": 1780000000000
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"status": 400
}
}{
"error": {
"code": "API_KEY_MISSING",
"message": "API key is missing",
"status": 401
}
}{
"error": {
"code": "NO_ACTIVE_SUBSCRIPTION",
"message": "No active subscription found",
"status": 403
}
}{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded",
"status": 429
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"status": 500
}
}News Feed
Crypto news feed with title, summary, source, tags and related coins/funds.
Available from: Advanced
Cost: 1 credit per request
curl --request GET \
--url https://api.cryptorank.io/v3/news/feed \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.cryptorank.io/v3/news/feed"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.cryptorank.io/v3/news/feed', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cryptorank.io/v3/news/feed",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cryptorank.io/v3/news/feed"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cryptorank.io/v3/news/feed")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cryptorank.io/v3/news/feed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 1234567,
"title": "Bitcoin breaks new all-time high",
"heroText": "<string>",
"source": "CoinDesk",
"sourceUrl": "https://www.coindesk.com/markets/2024/01/01/btc-ath",
"previewImage": "https://img.cryptorank.io/news/abc.jpg",
"publishedDate": "2024-01-01T12:34:56.000Z",
"language": "en",
"hasMainText": true,
"tags": [
{
"id": 5,
"key": "defi",
"name": "DeFi"
}
],
"assignedTokens": [
{
"id": 1,
"slug": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC"
}
],
"assignedFunds": [
{
"id": 12,
"name": "Pantera Capital",
"slug": "pantera-capital"
}
]
}
],
"meta": {
"nextCursor": "eyJpZCI6MTIzNH0="
},
"status": {
"usedCredits": 1,
"timestamp": 1780000000000
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"status": 400
}
}{
"error": {
"code": "API_KEY_MISSING",
"message": "API key is missing",
"status": 401
}
}{
"error": {
"code": "NO_ACTIVE_SUBSCRIPTION",
"message": "No active subscription found",
"status": 403
}
}{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded",
"status": 429
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"status": 500
}
}Authorizations
Query Parameters
Opaque pagination cursor returned by the previous response as meta.nextCursor. Pass it back unchanged to fetch the next page.
Filter by article language. Omit to return all languages.
en, ru, es, zh, tr, vi, pt, ko Filter by mentioned currency id — only articles that reference it. See: GET /v3/currencies/map.
1
Filter by mentioned fund id — only articles that reference it. See: GET /v3/funds/map.
12
Filter by tag id — only articles tagged with it.
5
Return articles published on or after this moment (ISO 8601 or Unix timestamp in seconds/milliseconds).
Return articles published on or before this moment (ISO 8601 or Unix timestamp in seconds/milliseconds). Bare dates (YYYY-MM-DD) are treated as end-of-day UTC so the named day is included.