API access
Your AI client reaches EPA Envirofacts GHGRP through one ParcelOps MCP endpoint, so there is no separate key to hold for it and no per-source client to write. Reaching it takes no credentials of your own.
Where it came from
Freshness and coverage
What this source cannot tell you
- ⚠ Where it stops geographically, because the covered area is not declared. An empty answer will not tell you whether the place is out of range or the record is simply missing.
- ⚠ Which years it spans, because the covered period is not declared.
- ⚠ How current a field is, because the refresh schedule is not declared.
- ⚠ Anything EPA Envirofacts GHGRP does not publish. ParcelOps returns this source as it stands and never fills a blank field from a different one.
Methods (8)
A method is one call your agent can make against this source.
searchFacilityEmissions
readSearch Facility Emissions
Input schema
{ "type": "object", "properties": { "state": { "type": "string", "pattern": "^[A-Za-z]{2}$" }, "year": { "type": "integer", "minimum": 1990, "maximum": 2200 }, "facilityName": { "type": "string", "maxLength": 200 }, "gasName": { "type": "string", "maxLength": 120 }, "sortBy": { "type": "string", "enum": [ "emissions", "facility", "year" ] }, "sortOrder": { "type": "string", "enum": [ "asc", "desc" ] }, "aggregateByFacility": { "type": "boolean" }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "limit": { "type": "integer", "minimum": 1, "maximum": 500 } }, "required": [], "additionalProperties": false }getEmissionsByFacility
readGet Emissions By Facility
What you must providefacilityIdInput schema
{ "type": "object", "properties": { "facilityId": { "oneOf": [ { "type": "string", "maxLength": 80 }, { "type": "integer", "minimum": 0 } ] }, "year": { "type": "integer", "minimum": 1990, "maximum": 2200 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "limit": { "type": "integer", "minimum": 1, "maximum": 500 } }, "required": [ "facilityId" ], "additionalProperties": false }searchBySector
readSearch By Sector
What you must providesectorNameInput schema
{ "type": "object", "properties": { "sectorName": { "type": "string", "maxLength": 120 }, "subsectorName": { "type": "string", "maxLength": 120 }, "state": { "type": "string", "pattern": "^[A-Za-z]{2}$" }, "year": { "type": "integer", "minimum": 1990, "maximum": 2200 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "limit": { "type": "integer", "minimum": 1, "maximum": 500 } }, "required": [ "sectorName" ], "additionalProperties": false }getTopEmitters
readGet Top Emitters
Input schema
{ "type": "object", "properties": { "state": { "type": "string", "pattern": "^[A-Za-z]{2}$" }, "year": { "type": "integer", "minimum": 1990, "maximum": 2200 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "limit": { "type": "integer", "minimum": 1, "maximum": 500 } }, "required": [], "additionalProperties": false }getGHGByCounty
readGet GHGBy County
What you must providecountyInput schema
{ "type": "object", "properties": { "county": { "type": "string", "maxLength": 120 }, "state": { "type": "string", "pattern": "^[A-Za-z]{2}$" }, "year": { "type": "integer", "minimum": 1990, "maximum": 2200 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "limit": { "type": "integer", "minimum": 1, "maximum": 500 } }, "required": [ "county" ], "additionalProperties": false }getGHGByYear
readGet GHGBy Year
What you must provideyearInput schema
{ "type": "object", "properties": { "year": { "type": "integer", "minimum": 1990, "maximum": 2200 }, "state": { "type": "string", "pattern": "^[A-Za-z]{2}$" }, "gasName": { "type": "string", "maxLength": 120 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "limit": { "type": "integer", "minimum": 1, "maximum": 500 } }, "required": [ "year" ], "additionalProperties": false }getGHGTrends
readGet GHGTrends
What you must providefacilityIdInput schema
{ "type": "object", "properties": { "facilityId": { "oneOf": [ { "type": "string", "maxLength": 80 }, { "type": "integer", "minimum": 0 } ] }, "gasName": { "type": "string", "maxLength": 120 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "limit": { "type": "integer", "minimum": 1, "maximum": 500 } }, "required": [ "facilityId" ], "additionalProperties": false }searchByZipCode
readSearch By Zip Code
What you must providezipInput schema
{ "type": "object", "properties": { "zip": { "type": "string", "pattern": "^\\d{5}(?:-\\d{4})?$" }, "year": { "type": "integer", "minimum": 1990, "maximum": 2200 }, "gasName": { "type": "string", "maxLength": 120 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "limit": { "type": "integer", "minimum": 1, "maximum": 500 } }, "required": [ "zip" ], "additionalProperties": false }
Where this source is used
- Land research
Parcel records, ground conditions, and what reaches the property line, for raw and rural land.
- Data center siting
Power, water, transport, airspace, and hazard screening for a site before anyone signs anything.
- Commercial real estate
Parcel and assessment records, building programs, and the entity on the other side of the deal.
- Residential real estate
The parcel record, the housing programs that touch an address, and the conditions a buyer asks about.
- Real estate law
Federal rule text, rulemaking dockets, party records, and the property facts a filing has to state.
- Realtors and brokerages
The facts behind a listing, the programs a buyer may qualify for, and your own files in the same place.
- What environmental records exist for this site?
