Data Sources

Every price, spec, and component listing on OffGridEmpire comes from an authorized retailer API or affiliate data feed. We do not scrape consumer-facing websites. This page documents where each number in the dataset originates, how often it refreshes, and the known limits of that approach.

Updated 2026-04-20Based on 363 kitsPrices refreshed every 6hMethodology →

Current Coverage

The dataset currently tracks 363 active solar kits across 29 brands. A kit enters the dataset only if it has a current listing with a valid price, a resolvable product URL, and enough spec information to decompose into component roles.

Retailers & Feeds

RetailerSourceRefresh
AmazonProduct Advertising API v56h
Shop Solar KitsShareASale data feed12h
Signature SolarImpact data feed12h
EcoFlowImpact data feed12h
Anker SOLIXImpact data feed12h
BioLongevity Labs partnersTUNE affiliate API12h

Normalization

Raw titles, specs, and component lists differ across retailers. Each kit goes through a normalization pass:

  • Brand casing and retailer noise stripped from product names.
  • Panel wattage, battery Wh, inverter W, and system voltage parsed into typed fields.
  • Chemistry and depth-of-discharge mapped from the raw description.
  • Variant bundles ("kit + 2 panels") split into discrete SKUs so comparisons stay apples-to-apples.

Price History

Every observed price is written to a time-series table. Kit pages render the last 90 days as a chart, with 30-day and all-time averages computed on read. Historical data begins in 2021 for long-tracked SKUs and at the first observation date for newer kits.

Known Limitations

  • Retailer APIs occasionally return stale prices; every price on the site carries a timestamp and a stale-price warning after 24 hours.
  • Shipping is included only when the retailer reports it in the feed. State sales tax is always excluded.
  • Missing-component estimates are market averages, not quotes — your actual spend depends on the specific product you buy.
  • Kits without a clean product URL or a parseable spec sheet are excluded entirely rather than guessed at.

If a number on the site looks wrong, it is a bug, not a judgment call. Flag it via contact and it will be investigated against the source feed.