← back

Data sources

Per source: endpoint, license/terms summary + link, status, date checked. Filled in as each source is actually verified — never speculatively.

FAO GIEWS FPMA (domestic retail prices → MCI-D)

(series list/metadata) and https://fpma.fao.org/giews/v4/global/price_module/api/v1/FpmaSeriePrice/?uuid__in=<uuid>&periodicity=monthly (per-series monthly datapoints, including a price_value_dollar field — FAO already does the local-currency-to-USD conversion server-side, so no FX handling is needed on our side). Not in FAO's official API docs; endpoint *structure* was read from github.com/tezamo/FPMA's notebooks (per the spec's explicit allowance), then independently verified live by this build against real UUIDs and real price data on 2026-07-22 — see mci/sources/fpma.py module docstring and tests/fixtures/fpma_sample.json.

<https://www.fao.org/giews/food-prices/home/en/> nor <https://www.fao.org/giews/food-prices/price-tool/en/> states reuse or redistribution terms (checked live 2026-07-22). Domestic series are contributed by many third-party national/international sources — a live sample series carried "source_name": "Vulnerability Analysis and Mapping (VAM) - WFP" — and FAO's general terms explicitly carve out third-party-sourced data as requiring separate consent from the original provider, which was not sought or obtained.

full fetch/parse implementation (tested against a real captured fixture) gated behind FPMA_LICENSE_CONFIRMED (defaults to false) per ground rule 3. See OPEN_QUESTIONS.md.

World Bank Pink Sheet (→ MCI-G)

("Monthly Prices" sheet). Located via the live "Commodity Markets" page (<https://www.worldbank.org/en/research/commodity-markets>) and verified by downloading and parsing it on 2026-07-22 — see mci/sources/pinksheet.py. No pulse/legume series exists in this workbook at all (checked every column header); MCI-G is reweighted over the other five staples — see methodology/METHODOLOGY.md §7.

(World Bank Dataset Terms: "Unless specifically labeled otherwise, these Datasets are provided to you under a Creative Commons Attribution 4.0 International License", with an added mediation/arbitration clause and an attribution-format requirement). This is distinct from — and overrides, for cataloged Datasets — the more restrictive default terms on the Bank's general "Materials"; no restrictive label was found on the Commodity Markets page itself.

FAOSTAT Food Balance Sheets (weights derivation only)

(FBS — "Food Balances (2010-)" dataset, bulk-download CSV, normalized format). FAO's documented REST APIs were checked first and found unusable on the date below: fenixservices.fao.org/faostat/api/v1/... returned HTTP 521 (origin down); faostatservices.fao.org/api/v1/... returned HTTP 401 "Missing Authorization Header" (gated, no key available). The bulk-download service is FAO's own official public distribution channel for the same underlying data and was used instead — see scripts/derive_weights.py.

(FAO's Open Data Licensing Policy for statistical databases, adopted 2025, superseding the earlier CC BY-NC-SA 3.0 IGO policy). Attribution to FAO required; redistribution of derived/aggregated statistics (e.g. methodology/weights.json) permitted.

USDA FoodData Central (caloric densities, optional at runtime)

documented API). Verified live 2026-07-22 (see tests/fixtures/fdc_search_wheat_flour.json for a captured real response).

— public domain. Citing FoodData Central as source is requested, not required. Rate limits: 1,000 req/hour with a real key (free signup at data.gov), 30 req/hour + 50 req/day on the shared DEMO_KEY.

(per spec — DEMO_KEY is available and was used only to verify the API shape and build the test fixture, never for runtime density values).

IGC GOI (International Grains Council daily index)

derived data; the human maintainer is seeking written permission separately.

mci/sources/igc.py (documented no-op behind IGC_PERMISSION_GRANTED, which defaults to false and is not sufficient on its own even when set).