Free JSON · no key · open CORS

The Russet Report Data API

Every number published on The Russet Report (therussetreport.com) as free JSON: origins, varieties, packs & counts, the Board, why prices are moving and current price. 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://therussetreport.com/api/v1
Auth
None
Format
JSON, UTF-8, GET only
CORS
Access-Control-Allow-Origin: *
Series
29 · 13 key statistics
Data as of
Nov 10, 2026

Quick start

The newest reading of every series, from a terminal:

curl https://therussetreport.com/api/v1/latest.json

Or in JavaScript, from any page:

const res = await fetch("https://therussetreport.com/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://therussetreport.com/api/v1/index.json

Sample response
{
  "api": "The Russet Report Data API",
  "version": "v1",
  "docs": "https://therussetreport.com/api",
  "data_as_of": "2026-11-10",
  "data_as_of_label": "Nov 10, 2026",
  "data_pulled_at": "2026-11-11T00:38:53.009Z",
  "generated_at": "2026-11-11T08:24:19.474Z",
  "attribution": "Credit The Russet Report (therussetreport.com) with a visible link to the page the figure came from; every record carries its page_url.",
  "name": "The Russet Report Data API",
  "description": "Free JSON for every number published on The Russet Report (therussetreport.com): origins, varieties, packs & counts, the Board, why prices are moving, current price. The potato board, readable.",
  "publisher": {
    "name": "The Russet Report",
    "url": "https://therussetreport.com"
  },
  "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 Russet Report 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": 29,
    "stats": 13
  },
  "sections": [
    {
      "key": "origin",
      "label": "Origins",
      "series": 16,
      "example": "https://therussetreport.com/api/v1/series/origin/california.json"
    },
    {
      "key": "variety",
      "label": "Varieties",
      "series": 6,
      "example": "https://therussetreport.com/api/v1/series/variety/long-white.json"
    },
    {
      "key": "pack",
      "label": "Packs & counts",
      "series": 4,
      "example": "https://therussetreport.com/api/v1/series/pack/consumer-bags.json"
    },
    {
      "key": "board",
      "label": "The Board",
      "series": 1,
      "example": "https://therussetreport.com/api/v1/series/board/weekly-movers.json"
    },
    {
      "key": "why",
      "label": "Why prices are moving",
      "series": 1,
      "example": "https://therussetreport.com/api/v1/series/why/potato-prices-rising.json"
    },
    {
      "key": "current-price",
      "label": "Current price",
      "series": 1,
      "example": "https://therussetreport.com/api/v1/series/current-price/potatoes.json"
    }
  ],
  "endpoints": [
    {
      "method": "GET",
      "path": "/api/v1/index.json",
      "url": "https://therussetreport.com/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://therussetreport.com/api/v1/latest.json",
      "description": "The newest reading of every data page on The Russet Report (29 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://therussetreport.com/api/v1/stats.json",
      "description": "The 13 headline numbers on the therussetreport.com/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://therussetreport.com/api/v1/series/pack/carton-counts.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://therussetreport.com/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 Russet Report (29 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://therussetreport.com/api/v1/latest.json

Sample response
{
  "api": "The Russet Report Data API",
  "version": "v1",
  "docs": "https://therussetreport.com/api",
  "data_as_of": "2026-11-10",
  "data_as_of_label": "Nov 10, 2026",
  "data_pulled_at": "2026-11-11T00:38:53.009Z",
  "generated_at": "2026-11-11T08:24:19.474Z",
  "attribution": "Credit The Russet Report (therussetreport.com) with a visible link to the page the figure came from; every record carries its page_url.",
  "count": 29,
  "data": [
    {
      "id": "origin/california",
      "section": "origin",
      "section_label": "Origins",
      "title": "California potato prices",
      "headline": "$25.80/50 lb carton",
      "unit": "$/50 lb carton",
      "data_through": "2026-07-10",
      "frequency": "USDA reports on business days",
      "status": "not_current",
      "status_note": "Out of season",
      "last_quoted": "2026-07-10",
      "values": [
        {
          "series": "Kern District (CA)",
          "date": "2026-07-10",
          "value": 25.8
        }
      ],
      "source": "USDA AMS shipping point potato FOB reports (FV130) and Daily Movement (FV170)",
      "page_url": "https://therussetreport.com/origin/california",
      "series_url": "https://therussetreport.com/api/v1/series/origin/california.json"
    },
    {
      "id": "origin/canada",
      "section": "origin",
      "section_label": "Origins",
      "title": "Canada potato import volume",
      "headline": "42,251 cwt",
      "unit": "cwt",
      "data_through": "2026-11-09",
      "frequency": "USDA reports on business days",
      "status": "current",
      "values": [
        {
          "series": "Shipments",
          "date": "2026-11-09",
          "value": 42251.13
        }
      ],
      "source": "USDA AMS Daily Movement report (FV170)",
      "page_url": "https://therussetreport.com/origin/canada",
      "series_url": "https://therussetreport.com/api/v1/series/origin/canada.json"
    }
  ]
}

Trimmed to 2 of 29 entries.

GET /api/v1/stats.json

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

Example: https://therussetreport.com/api/v1/stats.json

Sample response
{
  "api": "The Russet Report Data API",
  "version": "v1",
  "docs": "https://therussetreport.com/api",
  "data_as_of": "2026-11-10",
  "data_as_of_label": "Nov 10, 2026",
  "data_pulled_at": "2026-11-11T00:38:53.009Z",
  "generated_at": "2026-11-11T08:24:19.474Z",
  "attribution": "Credit The Russet Report (therussetreport.com) with a visible link to the page the figure came from; every record carries its page_url.",
  "stats_page": "https://therussetreport.com/stats",
  "count": 13,
  "stats": [
    {
      "id": "market-summary",
      "label": "US potato market data at a glance",
      "sentence": "On Nov 10, 2026, USDA shipping point reports quoted fresh potato FOB prices out of 5 origins (Idaho, Columbia Basin, San Luis Valley, Wisconsin and Red River Valley), 83 price series by variety, pack, size and grade. Of the 83 also quoted a week earlier, 32 rose, 9 fell and 42 held at the same price. The trade benchmark, Idaho russet Norkotahs in 70-count 50 lb cartons, was mostly $25.00 per 50 lb carton FOB.",
      "data_date": "2026-11-10",
      "citation": "On Nov 10, 2026, USDA shipping point reports quoted fresh potato FOB prices out of 5 origins (Idaho, Columbia Basin, San Luis Valley, Wisconsin and Red River Valley), 83 price series by variety, pack, size and grade. Of the 83 also quoted a week earlier, 32 rose, 9 fell and 42 held at the same price. The trade benchmark, Idaho russet Norkotahs in 70-count 50 lb cartons, was mostly $25.00 per 50 lb carton FOB. The Russet Report. https://therussetreport.com/stats#market-summary",
      "stats_url": "https://therussetreport.com/stats#market-summary",
      "page_url": "https://therussetreport.com/board/weekly-movers",
      "series_url": "https://therussetreport.com/api/v1/series/board/weekly-movers.json",
      "provenance": "USDA AMS shipping point potato FOB reports (FV130) · Biggest week-over-week potato FOB moves · FOB shipping point, per hundredweight · Across US growing origins"
    },
    {
      "id": "carton-count-premium",
      "label": "The carton-count premium",
      "sentence": "Russet potato cartons carry a size premium: 40–50-count run $52.00/cwt against $26.00/cwt for 100-count, the largest potatoes (the lowest counts per carton) commanding the most per hundredweight.",
      "data_date": "2026-11-10",
      "citation": "Russet potato carton counts, per hundredweight, from USDA shipping point reports, as of Nov 10, 2026. The Russet Report. https://therussetreport.com/pack/carton-counts",
      "stats_url": "https://therussetreport.com/stats#carton-count-premium",
      "page_url": "https://therussetreport.com/pack/carton-counts",
      "series_url": "https://therussetreport.com/api/v1/series/pack/carton-counts.json",
      "provenance": "USDA AMS shipping point potato FOB reports (FV130) · Potato FOB by pack and carton count · FOB shipping point, per hundredweight · Across US growing origins · through Nov 10, 2026"
    }
  ]
}

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://therussetreport.com/api/v1/series/pack/carton-counts.json

Sample response
{
  "api": "The Russet Report Data API",
  "version": "v1",
  "docs": "https://therussetreport.com/api",
  "data_as_of": "2026-11-10",
  "data_as_of_label": "Nov 10, 2026",
  "data_pulled_at": "2026-11-11T00:38:53.009Z",
  "generated_at": "2026-11-11T08:24:19.474Z",
  "attribution": "Credit The Russet Report (therussetreport.com) with a visible link to the page the figure came from; every record carries its page_url.",
  "id": "pack/carton-counts",
  "section": "pack",
  "section_label": "Packs & counts",
  "title": "Russet potato carton counts",
  "subtitle": "The russet 50 lb carton-count spread for Upper Valley / Twin Falls-Burley (ID), per hundredweight, USDA shipping point reports",
  "description": "The russet potato carton-count spread for Upper Valley / Twin Falls-Burley (ID), from 40-count down to 100-count, normalized per hundredweight, from USDA shipping point reports. Lower count is a bigger potato and a higher price.",
  "page_url": "https://therussetreport.com/pack/carton-counts",
  "headline": "40ct–100ct spread: $26.00/cwt",
  "unit": "$/cwt",
  "data_through": "2026-11-10",
  "frequency": "USDA reports on business days",
  "status": "current",
  "source": "USDA AMS shipping point potato FOB reports (FV130)",
  "provenance": {
    "source": "USDA AMS shipping point potato FOB reports (FV130)",
    "series": "Potato FOB by pack and carton count",
    "basis": "FOB shipping point, per hundredweight",
    "geography": "Across US growing origins",
    "unit": "$/cwt",
    "lastObservation": "Nov 10, 2026",
    "frequency": "USDA reports on business days"
  },
  "citation": "Russet potato carton counts, per hundredweight, from USDA shipping point reports, as of Nov 10, 2026. The Russet Report. https://therussetreport.com/pack/carton-counts",
  "series": [
    {
      "label": "40-count",
      "unit": "$/cwt",
      "points": [
        {
          "date": "2026-11-06",
          "value": 51
        },
        {
          "date": "2026-11-09",
          "value": 52
        },
        {
          "date": "2026-11-10",
          "value": 52
        }
      ]
    },
    {
      "label": "60-count",
      "unit": "$/cwt",
      "points": [
        {
          "date": "2026-11-06",
          "value": 49
        },
        {
          "date": "2026-11-09",
          "value": 50
        },
        {
          "date": "2026-11-10",
          "value": 50
        }
      ]
    }
  ],
  "tables": [
    {
      "caption": null,
      "columns": [
        "Carton count",
        "Per cwt",
        "Per 50 lb carton",
        "As of"
      ],
      "rows": [
        [
          "40–50-count",
          "$52.00/cwt",
          "mostly $26.00",
          "Nov 10, 2026"
        ],
        [
          "60–70-count",
          "$50.00/cwt",
          "mostly $25.00",
          "Nov 10, 2026"
        ],
        [
          "80-count",
          "$38.00/cwt",
          "mostly $19.00",
          "Nov 10, 2026"
        ]
      ]
    }
  ]
}

Trimmed: the live response carries all 4688 points, all 4 lines, the full table.

GET /api/v1/openapi.json

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

Example: https://therussetreport.com/api/v1/openapi.json

Sample response
{
  "openapi": "3.1.0",
  "info": {
    "title": "The Russet Report Data API",
    "version": "1.0.0",
    "description": "Free JSON for every number published on The Russet Report (therussetreport.com): origins, varieties, packs & counts, the Board, why prices are moving, current price. The potato board, readable. No key needed. Credit The Russet Report (therussetreport.com) 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://therussetreport.com/api"
    }
  },
  "servers": [
    {
      "url": "https://therussetreport.com/api/v1"
    }
  ],
  "externalDocs": {
    "description": "Docs",
    "url": "https://therussetreport.com/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://therussetreport.com/api/v1/series/{section}/{slug}.json. Every valid pair is listed in latest.json (its id and series_url fields).

SectionSeriesExample
OriginsFOB prices by growing origin: Idaho, the Columbia Basin, the San Luis Valley, Wisconsin, the Red River Valley, California, Florida and more, plus Canadian imports, with each origin's shipment volume. 16 California potato prices
VarietiesFOB prices by variety across origins: russet, red, yellow, white and long white, plus the red-versus-russet price spread per hundredweight. 6 Long White potato prices
Packs & countsFOB prices by pack and count: 50 lb russet cartons graded 40- to 100-count, 50 lb sacks, baled consumer bags and bulk totes, all normalized to a per-hundredweight board so packs compare apples to apples, plus the US No. 1 to US No. 2 grade discount on the same potato. 4 Potato consumer bag prices
The BoardThe weekly board: this week's biggest FOB movers per hundredweight, largest move first. 1 The weekly potato board
Why prices are movingWhy potato prices are rising or falling right now at the benchmark spec, updated every week the data moves. 1 Why are potato prices rising right now?
Current priceThe current benchmark potato price in one sentence: the USDA range, the move and what drives it. 1 Potato prices today

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 Russet Report collects, checks and publishes them.

Attribution: Credit The Russet Report (therussetreport.com) 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.