{"title":"HIFLD Next public API","description":"Read-only Portolan STAC Catalog and Collection metadata, paginated dataset search, and bounded same-origin query resources. Standard STAC API Core and Collections are at /stac; OGC data features are served separately at /features. There are no /items routes under /api dataset paths. Use collection and dataset slugs, not numeric IDs.","links":{"self":"https://hifld.publicenvirodata.org/api","openapi":"https://hifld.publicenvirodata.org/api/openapi","llms_txt":"https://hifld.publicenvirodata.org/llms.txt","agent_skills":"https://hifld.publicenvirodata.org/.well-known/agent-skills/index.json","api_catalog":"https://hifld.publicenvirodata.org/.well-known/api-catalog","mcp_server_card":"https://hifld.publicenvirodata.org/.well-known/mcp/server-card.json","ai_catalog":"https://hifld.publicenvirodata.org/.well-known/ai-catalog.json","mcp":"https://hifld.publicenvirodata.org/mcp","features":"https://hifld.publicenvirodata.org/features/collections","health":"https://hifld.publicenvirodata.org/api/health","collections":"https://hifld.publicenvirodata.org/api/collections","stac":"https://hifld.publicenvirodata.org/stac","stac_openapi":"https://hifld.publicenvirodata.org/stac/api","example_collection_datasets":"https://hifld.publicenvirodata.org/api/collections/hifld/datasets?search=wastewater&limit=25&omit=description","create_query":"https://hifld.publicenvirodata.org/api/queries","query_page":"https://hifld.publicenvirodata.org/api/queries/{query_id}/pages","query_bounds":"https://hifld.publicenvirodata.org/api/queries/{query_id}/bounds","query_tile":"https://hifld.publicenvirodata.org/api/queries/{query_id}/tiles/{z}/{x}/{y}.mvt"},"hints":{"search_params_on_collection_list_only":"Use GET /api/collections/{slug}/datasets with query params: search, tag_filters, limit, offset, omit (not q= on other paths). GET /api/collections/{slug} returns the raw STAC Catalog.","discovery":"Read /llms.txt and GET /api/openapi before guessing URLs. Scanner clients can read the JSON MCP Server Card and ARD at their well-known paths, then use same-origin /mcp.","bulk_analysis":"For statewide filters, download GeoParquet/Shapefile from file metadata `links` or source URLs and use DuckDB or GeoPandas locally.","query_resources":"POST /api/queries starts a bounded query. Page and bounds resources require X-HIFLD-Query-Token; their query_id path is bound to that token. Bounds are computed lazily for map framing. Stable problem responses never expose SQL, credentials, physical paths, or tokens. Load MVT directly from the returned public dataset-mcp URL; the webapp does not proxy tiles.","catalog_writes":"The JSON catalog API remains read-only. Contextual browser WebMCP tools may modify only the current browser workspace.","mcp_transport":"The JSON MCP Server Card advertises same-origin /mcp by default. The webapp proxy forwards to server-only DATASET_MCP_QUERY_API_URL; DATASET_MCP_PUBLIC_ENDPOINT is an optional server-only public endpoint override and internal origins are not exposed."}}