Skip to main content
GET
/
beta
/
graph
/
node
/
{id}
Get a graph node by id
curl --request GET \
  --url https://tako.com/api/beta/graph/node/{id}
import requests

url = "https://tako.com/api/beta/graph/node/{id}"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://tako.com/api/beta/graph/node/{id}', 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://tako.com/api/beta/graph/node/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$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://tako.com/api/beta/graph/node/{id}"

req, _ := http.NewRequest("GET", url, nil)

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://tako.com/api/beta/graph/node/{id}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://tako.com/api/beta/graph/node/{id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
{
  "id": "<string>",
  "name": "<string>",
  "aliases": [
    "<string>"
  ],
  "description": "<string>"
}
{
"error_message": "<string>"
}
{
"error_message": "<string>"
}

Notes

  • Public and unauthenticated — no API key required.
  • Use graph node to confirm what a node id actually refers to. Given an id — from a Search or Answer card, from Graph Search, or from Graph Related — resolve it here to get the node’s full name, aliases, and description and verify it’s the entity or metric you expected before you rely on it.
  • The id is the opaque public id Tako returns everywhere it exposes a node. The same id works across all graph endpoints.
This endpoint is in beta. A resolved node describes what Tako knows about that id — it does not promise that any specific entity + metric combination exists, or that data is available for it. Use Graph Related to see what a node connects to, and confirm coverage at Search or Answer.

Disambiguation flow

The node id is the through-line that ties search results back to the graph. A typical loop:
  1. Run a Search or Answer query and read the node ids off the returned card.
  2. Resolve each id here to confirm the card was built from the entities and metrics you meant — the subtype on an entity (e.g. Countries) settles homonyms like “China” the country vs. “China, TX”.
  3. If a node isn’t the one you wanted, resolve the intended one with Graph Search instead, then re-run the query pinned to that id.

Example response

{
  "id": "china-9f2a1b",
  "type": "entity",
  "name": "China",
  "aliases": ["People's Republic of China", "PRC"],
  "description": "Country in East Asia",
  "subtype": "Countries"
}
A 404 means the id does not resolve to a node — either it’s malformed or the node has no exportable data.

Path Parameters

id
string
required

Opaque public id of the node.

Response

A single graph node

id
string
required

Opaque, human-friendly public id (-).

type
enum<string>
required
Available options:
metric,
entity
name
string
required
aliases
string[]
description
string | null
subtype
enum<string> | null
Available options:
Companies,
Cryptocurrencies,
Financial Instruments,
Internet Browsers,
Commodities,
People,
Currencies,
Stock Exchanges,
Securities,
IPOs,
Government Debt Instruments,
Treasury Securities,
Airports,
Airlines,
Vehicle Types,
Transportation Modes,
Drugs,
Drug Categories,
Diseases,
Chemical Elements,
Chemical Compounds,
Celestial Bodies,
Occupations,
Social Media Platforms,
Operating Systems,
Search Engines,
Device Types,
LLMs,
LLM Families,
LLM Benchmarks,
Industries,
NAICS Industries,
BLS Industries,
PSC Categories,
Federal Contractors,
Federal Agencies,
Federal Subagencies,
ICE Contracts,
ICE Contractors,
Elections,
Political Offices,
Pollsters,
Agricultural Products,
Tobacco Products,
Prediction Markets,
Prediction Events,
Real Estate Property Types,
Continents,
World Regions,
Countries,
States,
Counties,
Metro Areas,
Cities,
F1 Drivers,
F1 Teams,
F1 Circuits,
F1 Events,
NASCAR Drivers,
NASCAR Teams,
NASCAR Tracks,
NASCAR Events,
NASCAR Races,
NASCAR Owners,
NASCAR Manufacturers,
Soccer Teams,
Soccer Players,
Soccer Competitions,
Soccer Conferences,
Basketball Teams,
Basketball Players,
Basketball Conferences,
Basketball Divisions,
Baseball Teams,
Baseball Players,
Baseball Conferences,
Baseball Divisions,
Baseball Competitions,
Football Teams,
Football Players,
Football Conferences,
Football Divisions,
Sports,
Sports Leagues
label
enum<string> | null

Public NER label of the node (PERSON, ORG, GPE, ...). Derived from the node's stored annotation; null when the internal annotation has no public equivalent.

Available options:
PERSON,
ORG,
GPE,
LOC,
PRODUCT,
EVENT,
LANGUAGE,
MONEY,
METRIC,
STOCK_TICKER,
WEBSITE