Page through large OpenFEMA datasets for a specific declared disaster
domain: www.fema.gov · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Identify the target dataset entity (e.g., DisasterDeclarationsSummaries or FemaWebDisasterDeclarations) from the OpenFEMA Data Sets list.
Send an initial request with $count=true to learn the total number of matching records for your $filter criteria.
If the count exceeds the $top limit (max 10,000), iterate requests using $skip in increments matching your $top value until you've retrieved all records.
Use $format=csv or $format=parquet instead of the JSON default if you're bulk-exporting data for offline analysis rather than live querying.
Reference the OpenAPI Specification endpoint (https://www.fema.gov/api/open/metadata/v3.0/OpenApi) if you want a machine-readable schema to validate your integration against.
Known gotchas
Avoid specifying $count=true on every paged request when iterating through large result sets — FEMA's documentation notes this slows down queries; fetch the count once and then page without it.
The 'id' field is an OpenFEMA-generated identifier that does not persist across dataset refreshes — do not use it as a durable key; instead query DataSetFields for the actual primaryKey fields for that dataset.
Full-download shortcuts (appending a file extension to the URL) ignore additional query parameters — to combine filtering and format, use the $format parameter explicitly instead of a filename extension.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?