Get Research Report
curl --request GET \
--url https://api.blockworks.com/query/tabular/research-reports/{reportID} \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/research-reports/{reportID}"
headers = {"X-Blockworks-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Blockworks-API-Key': '<api-key>'}};
fetch('https://api.blockworks.com/query/tabular/research-reports/{reportID}', 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.blockworks.com/query/tabular/research-reports/{reportID}",
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-Blockworks-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.blockworks.com/query/tabular/research-reports/{reportID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Blockworks-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.blockworks.com/query/tabular/research-reports/{reportID}")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/research-reports/{reportID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Blockworks-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"assetIDs": [
"<assetIDs>"
],
"assets": [
{}
],
"authorNames": [
"<authorNames>"
],
"authors": [
{}
],
"category": "<category>",
"content": "<content>",
"createdAt": "2024-01-01T00:00:00Z",
"hook": "<hook>",
"previewImageURL": "<previewImageURL>",
"publishDate": "2024-01-01T00:00:00Z",
"readingTimeInMinutes": 123.45,
"reportID": "<reportID>",
"reportType": "<reportType>",
"slug": "<slug>",
"subscriptionTier": "<subscriptionTier>",
"summary": "<summary>",
"tagNames": [
"<tagNames>"
],
"tags": [
{}
],
"title": "<title>",
"updatedAt": "2024-01-01T00:00:00Z"
},
"error": null,
"metadata": {
"matchedField": "reportID"
}
}{
"data": null,
"error": "unknown selection field \"nope\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"news_research_unified\" permission"
}{
"data": null,
"error": "no row found matching \"unknown\""
}Research Reports
Get Research Report
One row per published research report, keyed by reportID: title, slug, hook, summary, the full markdown body, publish and update times, reading time, subscription tier, and the authors, tags and assets it covers. Covers every kind of published content, so filter on reportType or category to narrow.
GET
/
query
/
tabular
/
research-reports
/
{reportID}
Get Research Report
curl --request GET \
--url https://api.blockworks.com/query/tabular/research-reports/{reportID} \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/research-reports/{reportID}"
headers = {"X-Blockworks-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Blockworks-API-Key': '<api-key>'}};
fetch('https://api.blockworks.com/query/tabular/research-reports/{reportID}', 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.blockworks.com/query/tabular/research-reports/{reportID}",
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-Blockworks-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.blockworks.com/query/tabular/research-reports/{reportID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Blockworks-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.blockworks.com/query/tabular/research-reports/{reportID}")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/research-reports/{reportID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Blockworks-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"assetIDs": [
"<assetIDs>"
],
"assets": [
{}
],
"authorNames": [
"<authorNames>"
],
"authors": [
{}
],
"category": "<category>",
"content": "<content>",
"createdAt": "2024-01-01T00:00:00Z",
"hook": "<hook>",
"previewImageURL": "<previewImageURL>",
"publishDate": "2024-01-01T00:00:00Z",
"readingTimeInMinutes": 123.45,
"reportID": "<reportID>",
"reportType": "<reportType>",
"slug": "<slug>",
"subscriptionTier": "<subscriptionTier>",
"summary": "<summary>",
"tagNames": [
"<tagNames>"
],
"tags": [
{}
],
"title": "<title>",
"updatedAt": "2024-01-01T00:00:00Z"
},
"error": null,
"metadata": {
"matchedField": "reportID"
}
}{
"data": null,
"error": "unknown selection field \"nope\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"news_research_unified\" permission"
}{
"data": null,
"error": "no row found matching \"unknown\""
}Authorizations
API key sent in the X-Blockworks-API-Key header; x-messari-api-key is accepted for existing integrations. The catalog endpoints and models on the public access tier need no key.
Path Parameters
The Report ID identifying the row.
Query Parameters
Comma-separated fields to return; defaults to all fields.
Available options:
reportID, title, slug, hook, summary, content, publishDate, createdAt, updatedAt, readingTimeInMinutes, subscriptionTier, reportType, category, previewImageURL, assetIDs, assets, authorNames, authors, tagNames, tags