{
  "total": 3,
  "source": "d1",
  "tracking_since": "2026-10-25T12:38:37.716Z",
  "source_rechecks": {
    "rows": 332,
    "series": 250,
    "last_checked_at": "2026-10-25T13:38:37.000Z",
    "latest_result_counts": {
      "confirmed": 240,
      "unreachable": 5,
      "needs_review": 4,
      "changed": 1
    },
    "method": "Each source URL is fetched and the recorded numbers are looked for in the page (PDFs via pdftotext); anything not confirmed is reviewed by a human. Log: /downloads/price_rechecks.jsonl"
  },
  "observations": [
    {
      "id": "po_20261026_03400527797d",
      "series_key": "ps_6b66ba5520d42707",
      "kind": "benchmark",
      "use_case_id": "culvert-inspection",
      "use_case_ids": [
        "culvert-inspection"
      ],
      "provider_id": null,
      "description": "3D model of a single collector structure (chamber, overflow, siphon) from an indoor drone flight (C-DRONE France price guide, excl. VAT; 'generally', quoted case by case)",
      "low": 800,
      "high": 2000,
      "currency": "EUR",
      "unit": "per structure",
      "region": "FR",
      "source_url": "https://c-drone.fr/en/guides/sewer-collector-drone-indoor-inspection-price/",
      "as_of": "2026-09-22",
      "observed_at": "2026-10-26T00:25:29.126Z",
      "content_hash": "sha256:03400527797defdfc8ee82bf92310a7a37c293faec2266215a92935d5c38b82b",
      "supersedes": null,
      "origin": "build",
      "change_reason": null,
      "current": true,
      "usd": {
        "currency": "USD",
        "low": 895,
        "high": 2239,
        "fx": {
          "pair": "EUR/USD",
          "rate": 1.11929,
          "eur_per_usd": 0.89342,
          "rate_date": "2026-10-23",
          "source": "European Central Bank reference rates via Frankfurter",
          "source_url": "https://api.frankfurter.dev/v1/latest?base=USD"
        },
        "note": "Converted at the published reference rate on 2026-10-23, not at the price's as_of date. Indicative only."
      }
    },
    {
      "id": "po_20261026_44c43b4b9eda",
      "series_key": "ps_a8cd8598fc94a623",
      "kind": "benchmark",
      "use_case_id": "culvert-inspection",
      "use_case_ids": [
        "culvert-inspection"
      ],
      "provider_id": null,
      "description": "In-depth engineering report on an indoor drone inspection of collectors (defect grading against the operator's standard, prioritisation) (C-DRONE France price guide, excl. VAT; add-on to the inspection day)",
      "low": 500,
      "high": 1500,
      "currency": "EUR",
      "unit": "per campaign",
      "region": "FR",
      "source_url": "https://c-drone.fr/en/guides/sewer-collector-drone-indoor-inspection-price/",
      "as_of": "2026-09-22",
      "observed_at": "2026-10-26T00:25:29.126Z",
      "content_hash": "sha256:44c43b4b9eda9d20682dc93539604064dafac3141a0478b85d959b83f5c3494e",
      "supersedes": null,
      "origin": "build",
      "change_reason": null,
      "current": true,
      "usd": {
        "currency": "USD",
        "low": 560,
        "high": 1679,
        "fx": {
          "pair": "EUR/USD",
          "rate": 1.11929,
          "eur_per_usd": 0.89342,
          "rate_date": "2026-10-23",
          "source": "European Central Bank reference rates via Frankfurter",
          "source_url": "https://api.frankfurter.dev/v1/latest?base=USD"
        },
        "note": "Converted at the published reference rate on 2026-10-23, not at the price's as_of date. Indicative only."
      }
    },
    {
      "id": "po_20261026_abf37eb251e4",
      "series_key": "ps_778395eb444175a7",
      "kind": "benchmark",
      "use_case_id": "culvert-inspection",
      "use_case_ids": [
        "culvert-inspection"
      ],
      "provider_id": null,
      "description": "Indoor drone inspection day of man-entry sewer and stormwater collectors, storm overflows and outfalls (specialist pilot, caged drone, indexed video report; several hundred metres to 1 km+ per day) (C-DRONE France price guide, excl. VAT; aerial inspection of large structures, not a pipe crawler)",
      "low": 1800,
      "high": 3000,
      "currency": "EUR",
      "unit": "per day",
      "region": "FR",
      "source_url": "https://c-drone.fr/en/guides/sewer-collector-drone-indoor-inspection-price/",
      "as_of": "2026-09-22",
      "observed_at": "2026-10-26T00:25:29.126Z",
      "content_hash": "sha256:abf37eb251e440dd6c964e596eb9651b9ea0d172dce4320015083c270507cfbb",
      "supersedes": null,
      "origin": "build",
      "change_reason": null,
      "current": true,
      "usd": {
        "currency": "USD",
        "low": 2015,
        "high": 3358,
        "fx": {
          "pair": "EUR/USD",
          "rate": 1.11929,
          "eur_per_usd": 0.89342,
          "rate_date": "2026-10-23",
          "source": "European Central Bank reference rates via Frankfurter",
          "source_url": "https://api.frankfurter.dev/v1/latest?base=USD"
        },
        "note": "Converted at the published reference rate on 2026-10-23, not at the price's as_of date. Indicative only."
      }
    }
  ],
  "series": [
    {
      "series_key": "ps_6b66ba5520d42707",
      "kind": "benchmark",
      "use_case_id": "culvert-inspection",
      "provider_id": null,
      "description": "3D model of a single collector structure (chamber, overflow, siphon) from an indoor drone flight (C-DRONE France price guide, excl. VAT; 'generally', quoted case by case)",
      "currency": "EUR",
      "unit": "per structure",
      "region": "FR",
      "source_url": "https://c-drone.fr/en/guides/sewer-collector-drone-indoor-inspection-price/",
      "observations": 1,
      "first_observed_at": "2026-10-26T00:25:29.126Z",
      "last_observed_at": "2026-10-26T00:25:29.126Z",
      "current": true,
      "latest": {
        "low": 800,
        "high": 2000,
        "as_of": "2026-09-22",
        "id": "po_20261026_03400527797d"
      },
      "trend": null,
      "last_rechecked": null
    },
    {
      "series_key": "ps_a8cd8598fc94a623",
      "kind": "benchmark",
      "use_case_id": "culvert-inspection",
      "provider_id": null,
      "description": "In-depth engineering report on an indoor drone inspection of collectors (defect grading against the operator's standard, prioritisation) (C-DRONE France price guide, excl. VAT; add-on to the inspection day)",
      "currency": "EUR",
      "unit": "per campaign",
      "region": "FR",
      "source_url": "https://c-drone.fr/en/guides/sewer-collector-drone-indoor-inspection-price/",
      "observations": 1,
      "first_observed_at": "2026-10-26T00:25:29.126Z",
      "last_observed_at": "2026-10-26T00:25:29.126Z",
      "current": true,
      "latest": {
        "low": 500,
        "high": 1500,
        "as_of": "2026-09-22",
        "id": "po_20261026_44c43b4b9eda"
      },
      "trend": null,
      "last_rechecked": null
    },
    {
      "series_key": "ps_778395eb444175a7",
      "kind": "benchmark",
      "use_case_id": "culvert-inspection",
      "provider_id": null,
      "description": "Indoor drone inspection day of man-entry sewer and stormwater collectors, storm overflows and outfalls (specialist pilot, caged drone, indexed video report; several hundred metres to 1 km+ per day) (C-DRONE France price guide, excl. VAT; aerial inspection of large structures, not a pipe crawler)",
      "currency": "EUR",
      "unit": "per day",
      "region": "FR",
      "source_url": "https://c-drone.fr/en/guides/sewer-collector-drone-indoor-inspection-price/",
      "observations": 1,
      "first_observed_at": "2026-10-26T00:25:29.126Z",
      "last_observed_at": "2026-10-26T00:25:29.126Z",
      "current": true,
      "latest": {
        "low": 1800,
        "high": 3000,
        "as_of": "2026-09-22",
        "id": "po_20261026_abf37eb251e4"
      },
      "trend": null,
      "last_rechecked": null
    }
  ],
  "note": "Only one observation per series so far: we started recording every price on 2026-10-25 and re-check every source on a schedule. A trend appears when a re-checked source shows a different price (we never overwrite old observations).",
  "pagination": {
    "total": 3,
    "limit": 200,
    "offset": 0,
    "returned": 3,
    "next_offset": null,
    "next": null,
    "prev": null
  },
  "license": "Whirrwork (https://whirrwork.com), CC BY 4.0"
}