---
title: "Look up emission factors for up to 100 ZIP codes"
method: POST
path: "/api/lookup/batch"
---

# Look up emission factors for up to 100 ZIP codes

`POST /api/lookup/batch`

## Request

- Base URL: `https://emission-factors.com`
- URL: `https://emission-factors.com/api/lookup/batch`
- Auth: none declared

## Request body

- union
  - string[]
  - object
    - `zips` string[], required: Strings (5 digits or ZIP+4); 3-4 digit strings and JSON numbers are zero-padded (2108 -> 02108), as spreadsheets drop leading zeros
    - `compact` boolean: One flat row per ZIP instead of full candidates; returns {edition, *_source fields, results}
    - `envelope` boolean: Return {edition, *_source fields, results} with full candidates instead of a bare array

## Response `200`

A bare array of lookup results (default), or {edition, *_source fields, results} with compact or envelope. Always eGRID2023; use /api/lookup?year=2024 for eGRID2024.

## Other responses

- `400`: Not an array or {zips}, empty, over 100, a non-string/number entry, or an unknown field

---

[API](https://skmtc.dev/emission-factors/apis/emission-factors-com-api.md) · [All operations](https://skmtc.dev/emission-factors/apis/emission-factors-com-api/llms.txt) · [OpenAPI document](https://skmtc.dev/emission-factors/apis/emission-factors-com-api/revisions/6a306ef2044a?raw)
