EdgeChat Timeline API

The Timeline API from EdgeChat — 1 operation(s) for timeline.

GitHub OpenAPI

Operations 1

GET /timeline Dated events of a topic or place #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/edgechat-ai:edgechat-ai-timeline-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

edgechat-ai-timeline-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Edgepedia Timeline API
  version: '1'
  description: Read-only JSON access to the Edgepedia encyclopedia articles. Keyless. 600 requests a minute and 100,000 a day per IP address (429 with Retry-After past that). Free with credit under the Edgepedia Community License 1.0; AI training is open to everyone.
  license:
    name: Edgepedia Community License 1.0
    url: https://www.edgechat.ai/edgepedia/license
  contact:
    url: https://www.edgechat.ai/developers
    name: EdgeChat
    email: olivia.jin@biostate.ai
  x-logo:
    url: https://www.edgechat.ai/assets/edgechat-chestnut-orange-logo-v2.png
    altText: EdgeChat
    backgroundColor: '#FFFFFF'
    href: https://www.edgechat.ai/developers
  x-origin:
  - format: openapi
    version: '3.1'
    url: https://www.edgechat.ai/openapi.json
servers:
- url: https://www.edgechat.ai/api/v1
tags:
- name: Timeline
paths:
  /timeline:
    get:
      operationId: getTimeline
      summary: Dated events of a topic or place
      description: Oldest first, 50 a page. A node's index keeps at most 200 events spread over its dates; from and to filter that sample, and `sampled` says when it is one.
      parameters:
      - name: topic
        in: query
        required: false
        description: ''
        schema:
          type: string
        example: life.animals.mammals.monotremes-marsupials
      - name: geo
        in: query
        required: false
        description: ''
        schema:
          type: string
      - name: from
        in: query
        required: false
        description: ''
        schema:
          type: integer
      - name: to
        in: query
        required: false
        description: ''
        schema:
          type: integer
      - name: page
        in: query
        required: false
        description: Page, from 1.
        schema:
          type: integer
          minimum: 1
      - name: format
        in: query
        required: false
        description: json (default) or mermaid.
        schema:
          type: string
          enum:
          - json
          - mermaid
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTimelineResponse'
              examples:
                live:
                  summary: GET https://www.edgechat.ai/api/v1/timeline?topic=life.animals.mammals.monotremes-marsupials
                  description: 'A live answer of 2026-10-07: arrays cut to two items, long text cut with an ellipsis.'
                  value:
                    node:
                      id: life.animals.mammals.monotremes-marsupials
                      label: Monotremes and marsupials
                      tree: topics
                    total: 97
                    page: 1
                    pages: 2
                    results:
                    - date: '-1000'
                      text: Indigenous Australian rock art depicting thylacine-like animals occurs across northern Australia, including the Kimberley region and the Dampier Rock Art Precinct, with some engravings dating back to at least 1000 BC.
                      id: epegk4s3ak
                      slug: thylacine
                      title: Thylacine
                      url: https://www.edgechat.ai/thylacine
                    - date: '1658'
                      text: The word "quokka" derives from a Noongar word; Noongar people today also use the names ban-gup, bungeup, and quak–a. In 1658 the Dutch mariner Samuel Volckertzoon described seeing "a wild cat" on the island, and in 1696 the Dutch explorer Willem de Vlamingh mistook quokkas for gi…
                      id: epqxng0qsy
                      slug: quokka
                      title: Quokka
                      url: https://www.edgechat.ai/quokka
                    license:
                      name: Edgepedia Community License 1.0
                      url: https://www.edgechat.ai/edgepedia/license
                      summary: Free with credit, commercial use included. AI training is open to everyone. For other uses, organizations over USD 100M in revenue or 100M monthly users license separately.
            text/plain:
              schema:
                type: string
                description: 'format=mermaid: a Mermaid diagram as text.'
          headers:
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            ETag:
              $ref: '#/components/headers/ETag'
            Last-Modified:
              $ref: '#/components/headers/Last-Modified'
            Content-Digest:
              $ref: '#/components/headers/Content-Digest'
            Edgepedia-Corpus-Version:
              $ref: '#/components/headers/Edgepedia-Corpus-Version'
        '400':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '503':
          $ref: '#/components/responses/Error'
      tags:
      - Timeline
components:
  headers:
    RateLimit-Policy:
      description: 'The limiter''s two windows, per IP address and per server instance (IETF RateLimit header fields): 600 requests a minute and 100,000 a day.'
      schema:
        type: string
        example: '"minute";q=600;w=60, "day";q=100000;w=86400'
    Content-Digest:
      description: sha-256 of the body (RFC 9530).
      schema:
        type: string
    Edgepedia-Corpus-Version:
      description: The corpus release that answered.
      schema:
        type: string
    Last-Modified:
      description: The corpus release date (informational; only the ETag validates).
      schema:
        type: string
    ETag:
      description: A hash of the body; send it back as If-None-Match for a 304.
      schema:
        type: string
  responses:
    Error:
      description: 'An error: { error: { code, message } }'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    GetTimelineResponse:
      type: object
      properties:
        node:
          type: object
          properties:
            id:
              type: string
            label:
              type: string
            tree:
              type: string
        total:
          type: integer
          description: The events in the index for this answer. An index holds at most 200; when it is full the answer is a sample and says `sampled`.
        page:
          type: integer
        pages:
          type: integer
        results:
          type: array
          items:
            type: object
            properties:
              date:
                type: string
              text:
                type: string
              id:
                type: string
              slug:
                type: string
              title:
                type: string
              url:
                type: string
        license:
          type: object
          properties:
            name:
              type: string
            url:
              type: string
            summary:
              type: string
        sampled:
          type: boolean
          description: 'true when the index holds its cap (200): `total` counts the sample, not every dated sentence; from and to filter the sample.'
        cap:
          type: integer
      description: 'Shape read from a live answer of 2026-10-07; fields may be added, never renamed or removed. Every field is optional: an answer carries the fields of its own branch.'
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            hint:
              type: string
            next:
              type: string
              format: uri
            did_you_mean:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  slug:
                    type: string
                  title:
                    type: string
                  api_url:
                    type: string
          required:
          - code
          - message
      required:
      - error
  parameters:
    fields:
      name: fields
      in: query
      required: false
      description: 'Comma-separated keys: each result (or the answer, when it has no results) keeps only these.'
      schema:
        type: string