> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tako.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Graph Node

> Look up a single node in Tako's data graph by its id

## 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](/api-reference/search-v3) or [Answer](/api-reference/answer) card, from [Graph Search](/api-reference/graph-search), or from [Graph Related](/api-reference/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.

<Warning>
  **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](/api-reference/graph-related) to see what a node connects to, and confirm coverage at [Search](/api-reference/search-v3) or [Answer](/api-reference/answer).
</Warning>

## Disambiguation flow

The node id is the through-line that ties search results back to the graph. A typical loop:

1. Run a [Search](/api-reference/search-v3) or [Answer](/api-reference/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](/api-reference/graph-search) instead, then re-run the query pinned to that id.

## Example response

```json theme={null}
{
  "id": "china-9f2a1b",
  "type": "entity",
  "name": "China",
  "aliases": ["People's Republic of China", "PRC"],
  "description": "Country in East Asia",
  "subtype": "Countries"
}
```

<Note>
  A `404` means the id does not resolve to a node — either it's malformed or the node has no exportable data.
</Note>


## OpenAPI

````yaml GET /beta/graph/node/{id}
openapi: 3.1.0
info:
  title: Knowledge Search API
  version: 1.0.0
servers:
  - url: https://tako.com/api/
    description: Tako Production API Server
security: []
paths:
  /beta/graph/node/{id}:
    get:
      tags:
        - tako
      summary: Get a graph node by id
      description: >-
        Resolve a single node by its opaque public id (as returned on search
        cards or by /beta/graph/search and /beta/graph/related). Returns the
        node's name, type, aliases, and description. Public and unauthenticated.
      operationId: graphNode
      parameters:
        - description: Opaque public id of the node.
          required: true
          schema:
            type: string
          name: id
          in: path
      responses:
        '200':
          description: A single graph node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GraphNode'
        '404':
          description: The requested resource does not exist or has no exportable data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseAPIError'
        '503':
          description: A backing data store is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseAPIError'
components:
  schemas:
    GraphNode:
      properties:
        id:
          type: string
          title: Id
          description: Opaque, human-friendly public id (<name-slug>-<token>).
        type:
          $ref: '#/components/schemas/GraphNodeType'
        name:
          type: string
          title: Name
        aliases:
          items:
            type: string
          type: array
          title: Aliases
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        subtype:
          anyOf:
            - $ref: '#/components/schemas/EntityClassName'
            - type: 'null'
        label:
          anyOf:
            - $ref: '#/components/schemas/NerLabel'
            - type: 'null'
          description: >-
            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.
      type: object
      required:
        - id
        - type
        - name
      title: GraphNode
    BaseAPIError:
      properties:
        error_message:
          type: string
          title: Error Message
        error_type:
          $ref: '#/components/schemas/APIErrorType'
      type: object
      required:
        - error_message
        - error_type
      title: BaseAPIError
    GraphNodeType:
      type: string
      enum:
        - metric
        - entity
      title: GraphNodeType
    EntityClassName:
      type: string
      enum:
        - 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
      title: EntityClassName
    NerLabel:
      type: string
      enum:
        - PERSON
        - ORG
        - GPE
        - LOC
        - PRODUCT
        - EVENT
        - LANGUAGE
        - MONEY
        - METRIC
        - STOCK_TICKER
        - WEBSITE
      title: NerLabel
    APIErrorType:
      type: string
      enum:
        - BAD_REQUEST
        - AUTHENTICATION_ERROR
        - INTERNAL_SERVER_ERROR
        - RELEVANT_RESULTS_NOT_FOUND
        - RATE_LIMIT_EXCEEDED
        - PAYMENT_REQUIRED
        - REQUEST_TIMEOUT
        - FORBIDDEN
        - NOT_FOUND
        - SERVICE_UNAVAILABLE
      title: APIErrorType

````