Batch Screening
API
KEY
↑
Click to upload or drag a CSV here
label, address (or lat/lng)
Radius (mi)
Min capacity
Season
Show top N
Display only — the API returns every candidate in radius (often 40–150+ per site); this just caps what's shown per site when expanded. Doesn't affect CSV export.
Weighted score
Capacity50
Distance50
Data quality50
Queue ratio50
Transformer margin50
Same open-weight logic as the map UI (utils/scoring.py, parity-tested). Scores are relative to each site's own result set — not comparable across sites.
Up to 100 sites per batch (server-enforced cap, see handover doc §16). Cached geocodes resolve instantly; new addresses hit Geocodio.
Contract (verified against api.py, Aug 8): radius_miles / min_capacity_mw / season go in the URL query string; only file and optional JSON-string weights are multipart form fields. No top_n param exists server-side — "Show top N" above is display-only. Response is {matched, unmatched}; each matched site carries input_address/matched_address/geocode_source/ geocode_confidence/geocode_match_type plus results[].
⬡
Upload a CSV of candidate sites, set your search parameters and weights, then run the batch. Results are scored per-site using the same open-weight logic as the map tool.