{
  "openapi": "3.1.0",
  "info": {
    "title": "Mainstage API",
    "version": "1.0.0",
    "summary": "Keynotes from major tech events with takeaways tied to video timestamps, product announcements and their status, speakers and companies, from official videos and recap posts",
    "description": "Keynotes from major tech events with takeaways tied to video timestamps, product announcements and their status, speakers and companies, from official videos and recap posts. Checked every Sunday at 10:00 UTC, and daily in the week after a tracked event. Free to read; please cite \"Mainstage (mainstage.fru.dev)\" with a link. Responses are cached at the edge; keep to about 60 requests a minute. Guide: https://mainstage.fru.dev/agents",
    "contact": {
      "name": "fru.dev",
      "url": "https://fru.dev",
      "email": "fru.dev3@gmail.com"
    }
  },
  "externalDocs": {
    "description": "For AI agents",
    "url": "https://mainstage.fru.dev/agents"
  },
  "servers": [
    {
      "url": "https://mainstage.fru.dev"
    }
  ],
  "paths": {
    "/api/keynotes": {
      "get": {
        "operationId": "list_keynotes",
        "summary": "Keynotes, newest first, with takeaways, announcements and sources",
        "description": "Keynotes, newest first, with takeaways, announcements and sources. Returns keynotes with event, year, date, video id, takeaways (text and second in the video), announcements with status, and the speakers.",
        "parameters": [
          {
            "name": "series",
            "in": "query",
            "required": false,
            "description": "Event series id, e.g. nvidia-gtc or aws-reinvent (see /api/events)",
            "schema": {
              "type": "string"
            },
            "example": "nvidia-gtc"
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Only keynotes from this year",
            "schema": {
              "type": "integer"
            },
            "example": 2025
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page, 1 to 200",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 200
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Items to skip, for the next page",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "keynotes with event, year, date, video id, takeaways (text and second in the video), announcements with status, and the speakers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "keynotes": [
                    {
                      "id": "nvidia-gtc-2026-jensen",
                      "series": "nvidia-gtc",
                      "year": 2026,
                      "title": "NVIDIA GTC 2026 Keynote",
                      "date": "2026-03-16",
                      "location": "San Jose",
                      "youtubeId": "jw_o0xr8MWU",
                      "channel": "NVIDIA",
                      "durationS": 8336,
                      "summary": "Jensen Huang opened GTC 2026 at San Jose's SAP Center by unveiling the Vera Rubin platform, the Feynman architecture roadmap, DLSS 5 and ...",
                      "captions": true,
                      "unverified": false,
                      "speakers": [
                        "jensen-huang"
                      ],
                      "takeaways": [
                        {
                          "text": "The keynote opened by framing the token as the basic unit of modern AI, at NVIDIA GTC 2026, SAP Center, San Jose.",
                          "t": 17
                        },
                        {
                          "text": "Huang introduced DLSS 5, using 3D guided neural rendering for real time, photoreal 4K performance on local hardware.",
                          "t": 827
                        }
                      ]
                    }
                  ],
                  "speakers": [
                    {
                      "slug": "jensen-huang",
                      "name": "Jensen Huang",
                      "role": "Founder and CEO, NVIDIA",
                      "org": "nvidia",
                      "profileUrl": "https://en.wikipedia.org/wiki/Jensen_Huang",
                      "photo": "",
                      "photoCredit": ""
                    }
                  ],
                  "total": 2,
                  "limit": 1,
                  "offset": 0,
                  "next": "/api/keynotes?series=nvidia-gtc&limit=1&offset=1",
                  "note": "Summaries of official keynote videos and recaps; watch the source for exact wording."
                }
              }
            }
          }
        }
      }
    },
    "/api/keynotes/{id}": {
      "get": {
        "operationId": "get_keynote",
        "summary": "One keynote by id",
        "description": "One keynote by id. Returns the keynote with every takeaway, announcement, source and speaker.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Keynote id, as in /keynotes/<id>",
            "schema": {
              "type": "string"
            },
            "example": "nvidia-gtc-2025-jensen"
          }
        ],
        "responses": {
          "200": {
            "description": "the keynote with every takeaway, announcement, source and speaker",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "keynote": {
                    "id": "nvidia-gtc-2025-jensen",
                    "series": "nvidia-gtc",
                    "year": 2025,
                    "title": "NVIDIA Founder and CEO Jensen Huang's Keynote at GTC 2025",
                    "date": "2025-03-18",
                    "location": "San Jose",
                    "youtubeId": "_waPvOwL9Z8",
                    "channel": "NVIDIA",
                    "durationS": 7908,
                    "summary": "Jensen Huang unveiled Blackwell Ultra, Vera Rubin, Dynamo, and new open models and robotics platforms at NVIDIA GTC 2025 in San Jose.",
                    "captions": true,
                    "unverified": false,
                    "speakers": [
                      "jensen-huang"
                    ],
                    "takeaways": [
                      {
                        "text": "NVIDIA Blackwell is in full production, delivering 40x the performance of Hopper for AI training and inference.",
                        "t": null
                      },
                      {
                        "text": "Blackwell Ultra, the next evolution of the Blackwell AI factory platform, arrives in the second half of 2025.",
                        "t": 5128
                      }
                    ]
                  },
                  "speakers": [
                    {
                      "slug": "jensen-huang",
                      "name": "Jensen Huang",
                      "role": "Founder and CEO, NVIDIA",
                      "org": "nvidia",
                      "profileUrl": "https://en.wikipedia.org/wiki/Jensen_Huang",
                      "photo": "",
                      "photoCredit": ""
                    }
                  ],
                  "url": "https://mainstage.fru.dev/keynotes/nvidia-gtc-2025-jensen",
                  "note": "Summaries of official keynote videos and recaps; watch the source for exact wording."
                }
              }
            }
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/announcements": {
      "get": {
        "operationId": "list_announcements",
        "summary": "Every product announced on stage, newest first",
        "description": "Every product announced on stage, newest first. Returns announcements with name, status (GA, Preview, Coming, Announced), note, company and the keynote they came from.",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Only this status",
            "schema": {
              "type": "string",
              "enum": [
                "GA",
                "Preview",
                "Coming",
                "Announced"
              ]
            },
            "example": "GA"
          },
          {
            "name": "series",
            "in": "query",
            "required": false,
            "description": "Only this event series id",
            "schema": {
              "type": "string"
            },
            "example": "aws-reinvent"
          },
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Only this company slug",
            "schema": {
              "type": "string"
            },
            "example": "nvidia"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page, 1 to 200",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 200
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Items to skip, for the next page",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "announcements with name, status (GA, Preview, Coming, Announced), note, company and the keynote they came from",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "announcements": [
                    {
                      "keynote": "microsoft-build-2026-nadella",
                      "series": "microsoft-build",
                      "year": 2026,
                      "date": "2026-06-02",
                      "name": "Microsoft IQ",
                      "status": "GA",
                      "note": "Context layer grounding agents in enterprise and world knowledge",
                      "company": "microsoft"
                    },
                    {
                      "keynote": "microsoft-build-2026-nadella",
                      "series": "microsoft-build",
                      "year": 2026,
                      "date": "2026-06-02",
                      "name": "Microsoft Discovery",
                      "status": "GA",
                      "note": "Agentic AI platform for the full science workflow",
                      "company": "microsoft"
                    }
                  ],
                  "total": 59,
                  "limit": 3,
                  "offset": 0,
                  "next": "/api/announcements?status=GA&limit=3&offset=3"
                }
              }
            }
          }
        }
      }
    },
    "/api/events": {
      "get": {
        "operationId": "list_events",
        "summary": "The event series followed",
        "description": "The event series followed. Returns series with id, name, short name, host company and domain.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "series with id, name, short name, host company and domain",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "series": [
                    {
                      "id": "aws-reinvent",
                      "name": "AWS re:Invent",
                      "short": "re:Invent",
                      "org": "aws",
                      "domain": "aws.amazon.com"
                    },
                    {
                      "id": "google-io",
                      "name": "Google I/O",
                      "short": "I/O",
                      "org": "google",
                      "domain": "google.com"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/companies": {
      "get": {
        "operationId": "list_companies",
        "summary": "Companies that hosted, launched or were named in a keynote",
        "description": "Companies that hosted, launched or were named in a keynote. Returns companies with slug, name, domain and page link.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page, 1 to 200",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 200
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Items to skip, for the next page",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "companies with slug, name, domain and page link",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "companies": [
                    {
                      "slug": "alibaba",
                      "name": "Alibaba",
                      "domain": "alibabagroup.com",
                      "url": "https://mainstage.fru.dev/companies/alibaba"
                    },
                    {
                      "slug": "amazon",
                      "name": "Amazon",
                      "domain": "amazon.com",
                      "url": "https://mainstage.fru.dev/companies/amazon"
                    }
                  ],
                  "total": 167,
                  "limit": 3,
                  "offset": 0,
                  "next": "/api/companies?limit=3&offset=3"
                }
              }
            }
          }
        }
      }
    },
    "/api/search": {
      "get": {
        "operationId": "search",
        "summary": "Search keynotes, speakers, companies and pages",
        "description": "Search keynotes, speakers, companies and pages. Returns up to 20 ranked results with title, link and one line.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Event, speaker, product or company",
            "schema": {
              "type": "string"
            },
            "example": "blackwell"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results, 1 to 20",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20,
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "up to 20 ranked results with title, link and one line",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "q": "blackwell",
                  "results": [
                    {
                      "id": "kn:nvidia-gtc-2025-jensen",
                      "group": "items",
                      "title": "NVIDIA GTC 2025 keynote, Jensen Huang",
                      "subtitle": "Mar 18, 2025 · 8 takeaways · 10 announced",
                      "href": "/keynotes/nvidia-gtc-2025-jensen",
                      "keywords": [
                        "NVIDIA Founder and CEO Jensen Huang's Keynote at GTC 2025",
                        "GTC"
                      ],
                      "logo": "https://img.logo.dev/nvidia.com?token=...&size=64&format=png&theme=light&retina=true&fallback=404",
                      "boost": 20,
                      "score": 745
                    },
                    {
                      "id": "kn:computex-2025-jensen",
                      "group": "items",
                      "title": "Computex 2025 keynote, Jensen Huang",
                      "subtitle": "May 19, 2025 · 8 takeaways · 9 announced",
                      "href": "/keynotes/computex-2025-jensen",
                      "keywords": [
                        "NVIDIA CEO Jensen Huang Keynote at COMPUTEX 2025",
                        "Computex"
                      ],
                      "logo": "https://img.logo.dev/computextaipei.com.tw?token=...&size=64&format=png&theme=light&retina=true&fallback=404",
                      "boost": 20,
                      "score": 295
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  }
}