---
title: "Get a frontier"
method: GET
path: "/v1/frontiers/{frontier}"
tags: ["Frontiers"]
---

# Get a frontier

`GET /v1/frontiers/{frontier}`

## Request

- Base URL: `http://api.technooptimist.io`
- URL: `http://api.technooptimist.io/v1/frontiers/{frontier}`
- Auth: one of:
  - HTTP bearer
  - API key in query parameter `api_key`

The frontier page model: the “how it works” explainer, its fields (blurb, explainer, counts), every program and company in it, and stats.

## Path parameters

- `frontier` string, required

## Response `200`

Frontier page

- FrontierPage
  - `frontier` object, required
    - `slug` string, required
    - `name` string, required
    - `description` string, required
    - `explainer` string[], required: "How <frontier> works": short ELI5 bullets (may be empty).
  - `fields` Field[], required: The frontier's fields, in editorial order.
    - `slug` string, required
    - `name` string, required
    - `blurb` string, nullable, required: One ELI5 line: what this field is.
    - `explainer` string[], required: "How <field> works": short ELI5 bullets (may be empty).
    - `sortOrder` integer, required
    - `companyCount` integer, required
    - `programCount` integer, required
  - `companies` CompanyRow[], required
    - `slug` string, required
    - `name` string, required
    - `keywords` string, required
    - `hq` string[], required
    - `status` string, required
    - `valuationUsd` number, nullable, required
    - `valuationKind` string, required
    - `employees` number, nullable, required
    - `foundedYear` number, nullable, required
    - `score` number, nullable, required
    - `logoUrl` string, nullable, required
    - `fields` string[], required
    - `isPrimary` boolean, required
    - `programs` object[], required
      - `slug` string, required
      - `name` string, required
      - `stage` 'research' | 'proto' | 'pilot' | 'deploy' | 'scaling', required
      - `imageUrl` string, nullable, required
      - `path` string, required: Canonical site path. Programs live under their frontier.
    - `lastUpdateAt` string, date-time, nullable, required
  - `programs` ProgramRow[], required: Programs in this frontier, including ones cross-listed from companies based elsewhere.
    - `slug` string, required
    - `name` string, required
    - `keywords` string, required
    - `stage` 'research' | 'proto' | 'pilot' | 'deploy' | 'scaling', required
    - `imageUrl` string, nullable, required
    - `isFlagship` boolean, required
    - `path` string, required: Canonical site path. Programs live under their frontier.
    - `field` string, nullable, required: The program's own field, else its company's field in this frontier.
    - `company` object, required
      - `slug` string, required
      - `name` string, required
      - `hq` string[], required
      - `logoUrl` string, nullable, required
    - `next` object, nullable, required
      - `title` string, required
      - `status` 'done' | 'current' | 'planned' | 'missed', required
      - `date` LooseDate, nullable, required
        - `date` string, date, required
        - `precision` 'day' | 'month' | 'quarter' | 'year', required
      - `slipMonths` number, nullable, required
    - `lastUpdateAt` string, date-time, nullable, required
    - `importance` integer, nullable, required: Importance meter 1-5: how far the program pushes technology forward if it succeeds (null = not rated yet). Rows come most important first.
    - `breakdown` object, nullable, required: Importance 0-100 with the five 0-5 ratings it is computed from (leap, reach, economy, lead, people; weight 0-1) and the one-line reason; pinned = set by the editors. null = not rated yet.
      - `score` integer, required
      - `dims` object[], required
        - `key` string, required
        - `value` integer, required
        - `weight` number, required
      - `reason` string, nullable, required
      - `pinned` boolean, required
  - `stats` object, required
    - `companies` integer, required
    - `programs` integer, required
    - `updatesThisWeek` integer, required

## Other responses

- `401`: Missing or invalid credentials
- `404`: Not found
- `429`: Rate limited

---

[API](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api.md) · [All operations](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api/llms.txt) · [OpenAPI document](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api/revisions/b7bcde6a0f30?raw)
