Free JSON · no key · open CORS

The Run Data API

Every number published on The Run (therun.news) as free JSON: season scoreboard, run summary, areas, species and forecast. No key, no sign-up, callable from any website or script. The files are rebuilt every time the site rebuilds with new data, so they always match the pages.

Base URL
https://therun.news/api/v1
Auth
None
Format
JSON, UTF-8, GET only
CORS
Access-Control-Allow-Origin: *
Series
16 · 13 key statistics
Data as of
Nov 4, 2026

Quick start

The newest reading of every series, from a terminal:

curl https://therun.news/api/v1/latest.json

Or in JavaScript, from any page:

const res = await fetch("https://therun.news/api/v1/latest.json");
const { data_as_of, data } = await res.json();
for (const row of data) console.log(row.title, row.headline, row.data_through);

Endpoints

GET /api/v1/index.json

API index. What this API is, its license and attribution, the sections it covers, and every endpoint.

Example: https://therun.news/api/v1/index.json

Sample response
{
  "api": "The Run Data API",
  "version": "v1",
  "docs": "https://therun.news/api",
  "data_as_of": "2026-11-04",
  "data_as_of_label": "Nov 4, 2026",
  "data_pulled_at": "2026-11-05T02:00:22.312Z",
  "generated_at": "2026-11-12T17:38:13.292Z",
  "attribution": "Credit The Run (therun.news) with a visible link to the page the figure came from; every record carries its page_url.",
  "name": "The Run Data API",
  "description": "Free JSON for every number published on The Run (therun.news): season scoreboard, run summary, areas, species, forecast. The Alaska salmon season, by district, species and value.",
  "publisher": {
    "name": "The Run",
    "url": "https://therun.news"
  },
  "auth": "none",
  "cors": "*",
  "format": "application/json; charset=utf-8",
  "license": "Free to use and republish with attribution; no key or sign-up. The underlying figures are public records from the agencies named in each series' provenance; The Run collects, checks and publishes them.",
  "update_policy": "Static files rebuilt every time the site rebuilds with new data. data_as_of in each response is the newest observation it holds; data_pulled_at is when the site last pulled its sources.",
  "counts": {
    "series": 16,
    "stats": 13
  },
  "sections": [
    {
      "key": "scoreboard",
      "label": "Season scoreboard",
      "series": 1,
      "example": "https://therun.news/api/v1/series/scoreboard/statewide.json"
    },
    {
      "key": "run-summary",
      "label": "Run summary",
      "series": 1,
      "example": "https://therun.news/api/v1/series/run-summary/bristol-bay.json"
    },
    {
      "key": "district",
      "label": "Areas",
      "series": 8,
      "example": "https://therun.news/api/v1/series/district/alaska-peninsula.json"
    },
    {
      "key": "species",
      "label": "Species",
      "series": 5,
      "example": "https://therun.news/api/v1/series/species/chinook.json"
    },
    {
      "key": "forecast",
      "label": "Forecast",
      "series": 1,
      "example": "https://therun.news/api/v1/series/forecast/preseason.json"
    }
  ],
  "endpoints": [
    {
      "method": "GET",
      "path": "/api/v1/index.json",
      "url": "https://therun.news/api/v1/index.json",
      "description": "What this API is, its license and attribution, the sections it covers, and every endpoint."
    },
    {
      "method": "GET",
      "path": "/api/v1/latest.json",
      "url": "https://therun.news/api/v1/latest.json",
      "description": "The newest reading of every data page on The Run (16 series): the headline value as the site shows it, the newest point of each charted line with its date, whether it is current, and links to its page and full history."
    },
    {
      "method": "GET",
      "path": "/api/v1/stats.json",
      "url": "https://therun.news/api/v1/stats.json",
      "description": "The 13 headline numbers on the therun.news/stats page, each as a quotable sentence with its data date and a ready-made citation."
    },
    {
      "method": "GET",
      "path": "/api/v1/series/{section}/{slug}.json",
      "url": "https://therun.news/api/v1/series/scoreboard/statewide.json",
      "description": "Everything behind one data page: every charted point (date + value), the historical band where the page draws one, the page's tables exactly as shown, its source and citation. Find each series_url in latest.json."
    },
    {
      "method": "GET",
      "path": "/api/v1/openapi.json",
      "url": "https://therun.news/api/v1/openapi.json",
      "description": "A machine-readable OpenAPI 3.1 description of these endpoints."
    }
  ]
}

GET /api/v1/latest.json

Latest readings. The newest reading of every data page on The Run (16 series): the headline value as the site shows it, the newest point of each charted line with its date, whether it is current, and links to its page and full history.

Example: https://therun.news/api/v1/latest.json

Sample response
{
  "api": "The Run Data API",
  "version": "v1",
  "docs": "https://therun.news/api",
  "data_as_of": "2026-11-04",
  "data_as_of_label": "Nov 4, 2026",
  "data_pulled_at": "2026-11-05T02:00:22.312Z",
  "generated_at": "2026-11-12T17:38:13.292Z",
  "attribution": "Credit The Run (therun.news) with a visible link to the page the figure came from; every record carries its page_url.",
  "count": 16,
  "data": [
    {
      "id": "scoreboard/statewide",
      "section": "scoreboard",
      "section_label": "Season scoreboard",
      "title": "Alaska salmon season scoreboard, 2026",
      "headline": "98.9M fish all species in ADF&G's season summary, 83% of the 119.9M fish ADF&G forecast across its eight fishing areas (in-season Blue Sheet count 89.1M fish, 74%)",
      "unit": "thousand fish",
      "data_through": "2026-11-04",
      "frequency": "Up to twice daily in season",
      "status": "not_current",
      "status_note": "Out of season",
      "last_quoted": "2026-11-04",
      "values": [
        {
          "series": "Cumulative sockeye harvest",
          "date": "2026-11-04",
          "value": 37591
        }
      ],
      "source": "ADF&G Preliminary Alaska Commercial Salmon Catch Report (Blue Sheet), over the April preseason forecast",
      "page_url": "https://therun.news/scoreboard/statewide",
      "series_url": "https://therun.news/api/v1/series/scoreboard/statewide.json"
    },
    {
      "id": "run-summary/bristol-bay",
      "section": "run-summary",
      "section_label": "Run summary",
      "title": "Bristol Bay fish counts 2026: daily harvest by district",
      "headline": "30.1M fish sockeye in ADF&G's season summary, 93% of the 32.3M fish in-area forecast",
      "unit": "thousand fish",
      "data_through": "2026-11-04",
      "frequency": "Up to twice daily in season",
      "status": "not_current",
      "status_note": "Out of season",
      "last_quoted": "2026-11-04",
      "values": [
        {
          "series": "Cumulative sockeye harvest",
          "date": "2026-11-04",
          "value": 29678
        },
        {
          "series": "In-area expected harvest (32.3M fish)",
          "date": "2026-11-04",
          "value": 32260
        }
      ],
      "source": "ADF&G Preliminary Alaska Commercial Salmon Catch Report (Blue Sheet), over the April preseason forecast",
      "page_url": "https://therun.news/run-summary/bristol-bay",
      "series_url": "https://therun.news/api/v1/series/run-summary/bristol-bay.json"
    }
  ]
}

Trimmed to 2 of 16 entries.

GET /api/v1/stats.json

Key statistics. The 13 headline numbers on the therun.news/stats page, each as a quotable sentence with its data date and a ready-made citation.

Example: https://therun.news/api/v1/stats.json

Sample response
{
  "api": "The Run Data API",
  "version": "v1",
  "docs": "https://therun.news/api",
  "data_as_of": "2026-11-04",
  "data_as_of_label": "Nov 4, 2026",
  "data_pulled_at": "2026-11-05T02:00:22.312Z",
  "generated_at": "2026-11-12T17:38:13.292Z",
  "attribution": "Credit The Run (therun.news) with a visible link to the page the figure came from; every record carries its page_url.",
  "stats_page": "https://therun.news/stats",
  "count": 13,
  "stats": [
    {
      "id": "statewide-official",
      "label": "Statewide harvest, ADF&G season summary",
      "sentence": "ADF&G's 2026 preliminary season summary puts Alaska's commercial salmon harvest at 98.9M fish worth $648.3M, 83% of the 119.9M fish ADF&G forecast across its eight fishing areas.",
      "data_date": "2026-11-04",
      "date_precision": "daily",
      "citation": "Alaska's commercial salmon season scoreboard: 98.9M fish all species in ADF&G's season summary, 83% of the 119.9M fish ADF&G forecast across its eight fishing areas (in-season Blue Sheet count 89.1M fish, 74%) as of Nov 4, 2026 (The Run). The Run. https://therun.news/scoreboard/statewide",
      "stats_url": "https://therun.news/stats#statewide-official",
      "page_url": "https://therun.news/scoreboard/statewide",
      "series_url": "https://therun.news/api/v1/series/scoreboard/statewide.json",
      "provenance": "ADF&G preliminary season summary (fish tickets and processor reports), over the April preseason forecast · Commercial harvest, preliminary · Statewide, by ADF&G management area · through Nov 4, 2026"
    },
    {
      "id": "statewide-vs-forecast",
      "label": "In-season Blue Sheet count vs forecast",
      "sentence": "ADF&G's in-season Blue Sheet count for 2026 reads 89.1M fish, 74% of the same forecast; ADF&G's season summary, built from fish tickets and processor reports, reads higher.",
      "data_date": "2026-11-04",
      "citation": "ADF&G's in-season Blue Sheet count for 2026 reads 89.1M fish, 74% of the same forecast; ADF&G's season summary, built from fish tickets and processor reports, reads higher. The Run. https://therun.news/stats#statewide-vs-forecast",
      "stats_url": "https://therun.news/stats#statewide-vs-forecast",
      "page_url": null,
      "series_url": null,
      "provenance": null
    }
  ]
}

Trimmed to 2 of 13 statistics.

GET /api/v1/series/{section}/{slug}.json

One series, full history. Everything behind one data page: every charted point (date + value), the historical band where the page draws one, the page's tables exactly as shown, its source and citation. Find each series_url in latest.json.

Example: https://therun.news/api/v1/series/scoreboard/statewide.json

Sample response
{
  "api": "The Run Data API",
  "version": "v1",
  "docs": "https://therun.news/api",
  "data_as_of": "2026-11-04",
  "data_as_of_label": "Nov 4, 2026",
  "data_pulled_at": "2026-11-05T02:00:22.312Z",
  "generated_at": "2026-11-12T17:38:13.292Z",
  "attribution": "Credit The Run (therun.news) with a visible link to the page the figure came from; every record carries its page_url.",
  "id": "scoreboard/statewide",
  "section": "scoreboard",
  "section_label": "Season scoreboard",
  "title": "Alaska salmon season scoreboard, 2026",
  "subtitle": "ADF&G's 2026 preliminary season summary puts the commercial harvest at 98.9M fish worth $648.3M, 83% of the 119.9M fish ADF&G forecast across its eight fishing areas. The in-season Blue Sheet count reads 89.1M fish, 74% of that forecast. ADF&G builds its summary from fish tickets and processor reports and says its preliminary figures may differ from other reported values.",
  "description": "Alaska's 2026 commercial salmon harvest: 98.9M fish in ADF&G's season summary, 83% of forecast. The season scoreboard by area and species, from ADF&G.",
  "page_url": "https://therun.news/scoreboard/statewide",
  "headline": "98.9M fish all species in ADF&G's season summary, 83% of the 119.9M fish ADF&G forecast across its eight fishing areas (in-season Blue Sheet count 89.1M fish, 74%)",
  "unit": "thousand fish",
  "data_through": "2026-11-04",
  "frequency": "Up to twice daily in season",
  "status": "not_current",
  "status_note": "Out of season",
  "last_quoted": "2026-11-04",
  "source": "ADF&G Preliminary Alaska Commercial Salmon Catch Report (Blue Sheet), over the April preseason forecast",
  "provenance": {
    "source": "ADF&G Preliminary Alaska Commercial Salmon Catch Report (Blue Sheet), over the April preseason forecast",
    "series": "Cumulative commercial harvest as a percent of the preseason forecast, by area",
    "basis": "Common-property and hatchery cost-recovery catch, preliminary",
    "geography": "Statewide, by ADF&G management area",
    "unit": "thousand fish",
    "period": "Cumulative in-season",
    "lastObservation": "Nov 4, 2026",
    "frequency": "Up to twice daily in season"
  },
  "citation": "Alaska's commercial salmon season scoreboard: 98.9M fish all species in ADF&G's season summary, 83% of the 119.9M fish ADF&G forecast across its eight fishing areas (in-season Blue Sheet count 89.1M fish, 74%) as of Nov 4, 2026 (The Run). The Run. https://therun.news/scoreboard/statewide",
  "series": [
    {
      "label": "Cumulative sockeye harvest",
      "unit": "thousand fish",
      "points": [
        {
          "date": "2026-11-02",
          "value": 37591
        },
        {
          "date": "2026-11-03",
          "value": 37591
        },
        {
          "date": "2026-11-04",
          "value": 37591
        }
      ]
    }
  ],
  "tables": [
    {
      "caption": null,
      "columns": [
        "Area",
        "Marquee species",
        "ADF&G season summary (all species)",
        "In-season Blue Sheet count (all species)",
        "Forecast (all species)",
        "Season summary, % of forecast"
      ],
      "rows": [
        [
          "Kodiak",
          "Pink",
          "15.6M fish",
          "14.8M fish",
          "15.0M fish",
          "104%"
        ],
        [
          "Southeast Alaska",
          "Pink",
          "32.5M fish",
          "28.9M fish",
          "31.8M fish",
          "102%"
        ],
        [
          "Bristol Bay",
          "Sockeye",
          "31.3M fish",
          "30.0M fish",
          "32.9M fish",
          "95%"
        ]
      ]
    }
  ]
}

Trimmed: the live response carries all 114 points, all 5 tables.

GET /api/v1/openapi.json

OpenAPI description. A machine-readable OpenAPI 3.1 description of these endpoints.

Example: https://therun.news/api/v1/openapi.json

Sample response
{
  "openapi": "3.1.0",
  "info": {
    "title": "The Run Data API",
    "version": "1.0.0",
    "description": "Free JSON for every number published on The Run (therun.news): season scoreboard, run summary, areas, species, forecast. The Alaska salmon season, by district, species and value. No key needed. Credit The Run (therun.news) with a visible link to the page the figure came from; every record carries its page_url.",
    "license": {
      "name": "Free to use with attribution",
      "url": "https://therun.news/api"
    }
  },
  "servers": [
    {
      "url": "https://therun.news/api/v1"
    }
  ],
  "externalDocs": {
    "description": "Docs",
    "url": "https://therun.news/api"
  },
  "paths": {
    "/index.json": {
      "get": {
        "operationId": "getIndex",
  ...

First lines only.

What's in it

One series file per data page on the site, at https://therun.news/api/v1/series/{section}/{slug}.json. Every valid pair is listed in latest.json (its id and series_url fields).

SectionSeriesExample
Season scoreboardThe flagship: how far Alaska's commercial salmon harvest has come against the preseason forecast, ranked by fishing area. The percent of forecast is the share of the full-season projection landed: the Blue Sheet's running count through the season, then ADF&G's season summary once it is out, over ADF&G's April forecast. 1 Alaska salmon season scoreboard, 2026
Run summaryBristol Bay day by day: the cumulative commercial harvest by district, off ADF&G's Blue Sheet, with what each district added since the last report and when it was first published. Harvest only. Escapement and total-run counts stay with ADF&G's own Bristol Bay daily run summary, which this page links. 1 Bristol Bay fish counts 2026: daily harvest by district
AreasAlaska's commercial salmon catch lands in eight areas, from Southeast to the Arctic-Yukon-Kuskokwim. Each page below has the area's harvest by species against ADF&G's preseason forecast, its week-by-week record, its ex-vessel prices and how its 2026 season ran. 8 Alaska Peninsula salmon harvest
SpeciesAlaska has five commercial salmon species: sockeye (red), pink (humpy), chum (dog or keta), coho (silver) and Chinook (king). Each page below has the statewide harvest against ADF&G's preseason forecast, by fishing area. 5 Alaska Chinook salmon harvest
ForecastADF&G's April Run Forecasts and Harvest Projections, by area and species, as ADF&G publishes it: the benchmark the scoreboard measures the commercial harvest against. Statewide, that is the total of ADF&G's area forecasts, which leaves out the Upper Cook Inlet sockeye ADF&G projects for all user groups together. 1 Alaska salmon preseason forecast, 2026

Fields every response carries

In latest.json and each series file, headline is the value exactly as the site shows it (with its unit), values / series carry the raw numbers with their dates, and status is current or not_current. A series that is out of season or not recently quoted says so, with last_quoted, rather than passing an old reading off as today's. See an example series.

Use, credit and limits

Free to use and republish with attribution; no key or sign-up. The underlying figures are public records from the agencies named in each series' provenance; The Run collects, checks and publishes them.

Attribution: Credit The Run (therun.news) with a visible link to the page the figure came from; every record carries its page_url.

No rate limit is set and there is nothing to sign up for: the files are static and served from Cloudflare's network. Please cache responses rather than polling; they change only when the site rebuilds. Fields are only ever added within v1, never renamed or removed. Questions or a series you need: contact us. How each number is collected: methodology.