---
type: "firecrawl-provider"
description: "Public government GIS data published on Esri ArcGIS (parcels, zoning, flood zones, permits, addresses, boundaries, parks, utilities and similar layers) through the documented, keyless ArcGIS REST APIs every ArcGIS web map uses: ArcGIS Online / Hub catalog search, FeatureServer and MapServer service and layer metadata, and attribute and spatial queries. Works with layers hosted on ArcGIS Online (services*.arcgis.com) and on any agency's own ArcGIS Server; every response is verified to be ArcGIS service data, and token-protected services are never accessed."
use_when: "Public government GIS data published on Esri ArcGIS (parcels, zoning, flood zones, permits, addresses, boundaries, parks, utilities and similar layers) through the documented, keyless ArcGIS REST APIs every ArcGIS web map uses: ArcGIS Online / Hub catalog search, FeatureServer and MapServer service and layer metadata, and attribute and spatial queries. Works with layers hosted on ArcGIS Online (services*.arcgis.com) and on any agency's own ArcGIS Server; every response is verified to be ArcGIS service data, and token-protected services are never accessed."
categories: "Real estate"
capabilities: 3
credits_per_call: 5
---
# ArcGIS public GIS layers on Firecrawl Alexandria

Public government GIS data published on Esri ArcGIS (parcels, zoning, flood zones, permits, addresses, boundaries, parks, utilities and similar layers) through the documented, keyless ArcGIS REST APIs every ArcGIS web map uses: ArcGIS Online / Hub catalog search, FeatureServer and MapServer service and layer metadata, and attribute and spatial queries. Works with layers hosted on ArcGIS Online (services*.arcgis.com) and on any agency's own ArcGIS Server; every response is verified to be ArcGIS service data, and token-protected services are never accessed.

- Categories: Real estate
- Category index: [Real estate category](https://firecrawl.dev/alexandria/agents/categories/real-estate)
- Provider key: `arcgis-com`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/arcgis-com)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/arcgis-com/openapi.json)

## Capabilities

- [Describe layer](https://firecrawl.dev/alexandria/agents/providers/arcgis-com/gis-layers/describe_layer): Read an ArcGIS FeatureServer or MapServer service, or one of its layers, from its REST URL or ArcGIS item id: the service's layers and tables (id, name, type, geometry type, URL), description, capabilities and record limit; for a layer, its fields (name, alias, type, length, coded-value or range domains), geometry type, object id and display fields, extent (native and WGS84 when convertible), query capabilities and max record count. Always includes attribution: the ArcGIS Online item's licence text and credits plus the copyright text, so results can be credited. Works with ArcGIS Online (services*.arcgis.com) and any agency-hosted ArcGIS Server; the answer must be ArcGIS service JSON, otherwise invalid_input not_arcgis_service. Token-protected services are not_found.
- [Query layer](https://firecrawl.dev/alexandria/agents/providers/arcgis-com/gis-layers/query_layer): Query one public ArcGIS feature layer or table (FeatureServer or MapServer layer that supports Query) with an ArcGIS SQL where clause, a WGS84 point (optionally with a search radius in metres) or bounding box, chosen output fields and ordering. Returns compact rows of attributes (date fields as RFC 3339 UTC) and, on request, GeoJSON geometry in WGS84 (6 decimals, vertex-capped), plus the total matching count, next_offset for paging (offset/limit up to 200 per page, respecting the layer's maxRecordCount and exceededTransferLimit) and the layer's attribution (licence, credits, copyright). count_only returns just the count. Works on ArcGIS Online and agency ArcGIS Servers; non-ArcGIS answers are invalid_input not_arcgis_service, token-protected services not_found, server-rejected clauses invalid_input rejected_by_server.
- [Search datasets](https://firecrawl.dev/alexandria/agents/providers/arcgis-com/gis-layers/search_datasets): Search the public ArcGIS Online / ArcGIS Hub catalog (www.arcgis.com portal search) for government GIS layers published as Feature Services or Map Services: parcels, zoning, flood zones, permits, addresses, boundaries and similar. Filter by keywords, one Hub open-data site (e.g. public-nps.opendata.arcgis.com, opendata.dc.gov) or ArcGIS organization id, owner and a WGS84 bounding box; sort by relevance, last modified, views or title; page through up to 10,000 results. Each item has its id, title, type, REST service URL (for describe_layer / query_layer), owner and organization, snippet, tags, dates, authoritative flag, licence and credit text, WGS84 extent and view count. Only public items are returned; there are no credentials.

## 1. Choose this provider when

Public government GIS data published on Esri ArcGIS (parcels, zoning, flood zones, permits, addresses, boundaries, parks, utilities and similar layers) through the documented, keyless ArcGIS REST APIs every ArcGIS web map uses: ArcGIS Online / Hub catalog search, FeatureServer and MapServer service and layer metadata, and attribute and spatial queries. Works with layers hosted on ArcGIS Online (services*.arcgis.com) and on any agency's own ArcGIS Server; every response is verified to be ArcGIS service data, and token-protected services are never accessed.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "arcgis-com",
  "capability": "gis-layers/describe_layer",
  "options": {
    "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `item_id` (string): ArcGIS item id of a Feature Service or Map Service (from search_datasets), optionally with a Hub `_<layer>` suffix. Alternative to url. Pattern: ^[0-9a-fA-F]{32}(_[0-9]{1,6})?$. Example: `_<layer>`
- `layer` (number): Layer id within the service, when the URL names the service only. Example: `10`
- `url` (string): ArcGIS REST service or layer URL, or an ArcGIS Online item page (https://www.arcgis.com/home/item.html?id=…). https://<host>/<adaptor>/rest/services/<folder>/<service>/FeatureServer[/<layer>] or …/MapServer[/<layer>], on ArcGIS Online (services*.arcgis.com/<orgId>/arcgis/rest/services/…) or an agency's ArcGIS Server (gis.<agency>.gov/arcgis/rest/services/…). Query strings are ignored; URLs carrying a token or key are refused. Example: `<url>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "arcgis-com",
    capability: "gis-layers/describe_layer",
    options: {
      url: "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "arcgis-com",
  "capability": "gis-layers/describe_layer",
  "options": {
    "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "arcgis-com",
    "capability": "gis-layers/describe_layer",
    "options": {
      "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'arcgis-com/gis-layers/describe_layer' \
  --options '{"url":"https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "arcgis-com",
  "capability": "gis-layers/describe_layer",
  "options": {
    "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "arcgis-com",
  "capability": "gis-layers/describe_layer",
  "options": {
    "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "attribution": {
    "access_information": "Source: FEMA, Esri",
    "copyright_text": null,
    "item_id": "ccd29fb4bd5e4b44a2d61638829a5d7e",
    "item_title": "USA Flood Hazard Areas",
    "item_url": "https://www.arcgis.com/home/item.html?id=ccd29fb4bd5e4b44a2d61638829a5d7e",
    "license_info": "This work is licensed under the Esri Master License Agreement. View Summary | View Terms of Use"
  },
  "layer": {
    "bbox_wgs84": [
      -170.84842,
      -14.375153,
      145.832189,
      66.591598
    ],
    "capabilities": [
      "Query",
      "Extract"
    ],
    "copyright_text": null,
    "description": null,
    "display_field": null,
    "extent": {
      "wkid": 3857,
      "xmax": 16233965.037100002,
      "xmin": -19018759.0796,
      "ymax": 10040669.876500005,
      "ymin": -1617292.3216999993
    },
    "field_count": 24,
    "fields": [
      {
        "alias": "Object ID",
        "domain": null,
        "length": null,
        "name": "OBJECTID",
        "nullable": false,
        "type": "OID"
      },
      {
        "alias": "FIRM Study ID",
        "domain": null,
        "length": 6,
        "name": "DFIRM_ID",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Version ID",
        "domain": null,
        "length": 11,
        "name": "VERSION_ID",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Area ID",
        "domain": null,
        "length": 32,
        "name": "FLD_AR_ID",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Study Type",
        "domain": null,
        "length": 38,
        "name": "STUDY_TYP",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Hazard Zone",
        "domain": null,
        "length": 17,
        "name": "FLD_ZONE",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Hazard Zone Subtype",
        "domain": null,
        "length": 80,
        "name": "ZONE_SUBTY",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Special Flood Hazard Area (T/F)",
        "domain": null,
        "length": 1,
        "name": "SFHA_TF",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Static Base Flood Elevation",
        "domain": null,
        "length": null,
        "name": "STATIC_BFE",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Vertical Datum",
        "domain": null,
        "length": 17,
        "name": "V_DATUM",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "AO Zone Depth",
        "domain": null,
        "length": null,
        "name": "DEPTH",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Length Units",
        "domain": null,
        "length": 16,
        "name": "LEN_UNIT",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Flow Velocity",
        "domain": null,
        "length": null,
        "name": "VELOCITY",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Velocity Unit",
        "domain": null,
        "length": 20,
        "name": "VEL_UNIT",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Control Restoration Zones",
        "domain": null,
        "length": 17,
        "name": "AR_REVERT",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Control Restoration Zones Subtype",
        "domain": null,
        "length": 57,
        "name": "AR_SUBTRV",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Control Restoration Zones BFE Revert",
        "domain": null,
        "length": null,
        "name": "BFE_REVERT",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Flood Control Restoration Zones Depth Revert",
        "domain": null,
        "length": null,
        "name": "DEP_REVERT",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Flood Control Restoration Zones Dual Zone Classification",
        "domain": null,
        "length": 1,
        "name": "DUAL_ZONE",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Source Citation",
        "domain": null,
        "length": 21,
        "name": "SOURCE_CIT",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": null,
        "domain": null,
        "length": 36,
        "name": "GFID",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Esri Symbology",
        "domain": null,
        "length": 50,
        "name": "esri_symbology",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Shape Area",
        "domain": null,
        "length": null,
        "name": "SHAPE__Area",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Shape Length",
        "domain": null,
        "length": null,
        "name": "SHAPE__Length",
        "nullable": true,
        "type": "Double"
      }
    ],
    "geometry_type": "Polygon",
    "id": 0,
    "max_record_count": 2000,
    "name": "USA_Flood_Hazard_Areas",
    "object_id_field": "OBJECTID",
    "queryable": true,
    "supports_order_by": true,
    "supports_pagination": true,
    "supports_statistics": true,
    "type": "Feature Layer",
    "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
  },
  "observed_at_ms": 1791567020556,
  "service": {
    "capabilities": [
      "Query",
      "Extract"
    ],
    "copyright_text": null,
    "current_version": 12,
    "description": null,
    "host": "services5.arcgis.com",
    "item_id": "ccd29fb4bd5e4b44a2d61638829a5d7e",
    "layers": [
      {
        "geometry_type": "Polygon",
        "id": 0,
        "name": "USA_Flood_Hazard_Areas",
        "parent_layer_id": null,
        "type": "Feature Layer",
        "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
      }
    ],
    "max_record_count": 2000,
    "name": "USA_Flood_Hazard_Areas_view",
    "tables": [],
    "type": "FeatureServer",
    "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer"
  },
  "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Describe layer

- Capability: `gis-layers/describe_layer`
- Description: Read an ArcGIS FeatureServer or MapServer service, or one of its layers, from its REST URL or ArcGIS item id: the service's layers and tables (id, name, type, geometry type, URL), description, capabilities and record limit; for a layer, its fields (name, alias, type, length, coded-value or range domains), geometry type, object id and display fields, extent (native and WGS84 when convertible), query capabilities and max record count. Always includes attribution: the ArcGIS Online item's licence text and credits plus the copyright text, so results can be credited. Works with ArcGIS Online (services*.arcgis.com) and any agency-hosted ArcGIS Server; the answer must be ArcGIS service JSON, otherwise invalid_input not_arcgis_service. Token-protected services are not_found.
- Instructions: Before query_layer: find the right layer id in a service and the exact field names and codes for a where clause (zoning codes, flood zone values), or check a layer's licence and record limits. Pass a url from search_datasets or a pasted ArcGIS REST URL.
- Cost: 5 credits per call
- Capability file: [Describe layer](https://firecrawl.dev/alexandria/agents/providers/arcgis-com/gis-layers/describe_layer)

Accepted options:
- `item_id` (string): ArcGIS item id of a Feature Service or Map Service (from search_datasets), optionally with a Hub `_<layer>` suffix. Alternative to url. Pattern: ^[0-9a-fA-F]{32}(_[0-9]{1,6})?$. Example: `_<layer>`
- `layer` (number): Layer id within the service, when the URL names the service only. Example: `10`
- `url` (string): ArcGIS REST service or layer URL, or an ArcGIS Online item page (https://www.arcgis.com/home/item.html?id=…). https://<host>/<adaptor>/rest/services/<folder>/<service>/FeatureServer[/<layer>] or …/MapServer[/<layer>], on ArcGIS Online (services*.arcgis.com/<orgId>/arcgis/rest/services/…) or an agency's ArcGIS Server (gis.<agency>.gov/arcgis/rest/services/…). Query strings are ignored; URLs carrying a token or key are refused. Example: `<url>`

Response schema example:
```json
{
  "attribution": {
    "access_information": "Source: FEMA, Esri",
    "copyright_text": null,
    "item_id": "ccd29fb4bd5e4b44a2d61638829a5d7e",
    "item_title": "USA Flood Hazard Areas",
    "item_url": "https://www.arcgis.com/home/item.html?id=ccd29fb4bd5e4b44a2d61638829a5d7e",
    "license_info": "This work is licensed under the Esri Master License Agreement. View Summary | View Terms of Use"
  },
  "layer": {
    "bbox_wgs84": [
      -170.84842,
      -14.375153,
      145.832189,
      66.591598
    ],
    "capabilities": [
      "Query",
      "Extract"
    ],
    "copyright_text": null,
    "description": null,
    "display_field": null,
    "extent": {
      "wkid": 3857,
      "xmax": 16233965.037100002,
      "xmin": -19018759.0796,
      "ymax": 10040669.876500005,
      "ymin": -1617292.3216999993
    },
    "field_count": 24,
    "fields": [
      {
        "alias": "Object ID",
        "domain": null,
        "length": null,
        "name": "OBJECTID",
        "nullable": false,
        "type": "OID"
      },
      {
        "alias": "FIRM Study ID",
        "domain": null,
        "length": 6,
        "name": "DFIRM_ID",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Version ID",
        "domain": null,
        "length": 11,
        "name": "VERSION_ID",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Area ID",
        "domain": null,
        "length": 32,
        "name": "FLD_AR_ID",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Study Type",
        "domain": null,
        "length": 38,
        "name": "STUDY_TYP",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Hazard Zone",
        "domain": null,
        "length": 17,
        "name": "FLD_ZONE",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Hazard Zone Subtype",
        "domain": null,
        "length": 80,
        "name": "ZONE_SUBTY",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Special Flood Hazard Area (T/F)",
        "domain": null,
        "length": 1,
        "name": "SFHA_TF",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Static Base Flood Elevation",
        "domain": null,
        "length": null,
        "name": "STATIC_BFE",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Vertical Datum",
        "domain": null,
        "length": 17,
        "name": "V_DATUM",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "AO Zone Depth",
        "domain": null,
        "length": null,
        "name": "DEPTH",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Length Units",
        "domain": null,
        "length": 16,
        "name": "LEN_UNIT",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Flow Velocity",
        "domain": null,
        "length": null,
        "name": "VELOCITY",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Velocity Unit",
        "domain": null,
        "length": 20,
        "name": "VEL_UNIT",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Control Restoration Zones",
        "domain": null,
        "length": 17,
        "name": "AR_REVERT",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Control Restoration Zones Subtype",
        "domain": null,
        "length": 57,
        "name": "AR_SUBTRV",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Flood Control Restoration Zones BFE Revert",
        "domain": null,
        "length": null,
        "name": "BFE_REVERT",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Flood Control Restoration Zones Depth Revert",
        "domain": null,
        "length": null,
        "name": "DEP_REVERT",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Flood Control Restoration Zones Dual Zone Classification",
        "domain": null,
        "length": 1,
        "name": "DUAL_ZONE",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Source Citation",
        "domain": null,
        "length": 21,
        "name": "SOURCE_CIT",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": null,
        "domain": null,
        "length": 36,
        "name": "GFID",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Esri Symbology",
        "domain": null,
        "length": 50,
        "name": "esri_symbology",
        "nullable": true,
        "type": "String"
      },
      {
        "alias": "Shape Area",
        "domain": null,
        "length": null,
        "name": "SHAPE__Area",
        "nullable": true,
        "type": "Double"
      },
      {
        "alias": "Shape Length",
        "domain": null,
        "length": null,
        "name": "SHAPE__Length",
        "nullable": true,
        "type": "Double"
      }
    ],
    "geometry_type": "Polygon",
    "id": 0,
    "max_record_count": 2000,
    "name": "USA_Flood_Hazard_Areas",
    "object_id_field": "OBJECTID",
    "queryable": true,
    "supports_order_by": true,
    "supports_pagination": true,
    "supports_statistics": true,
    "type": "Feature Layer",
    "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
  },
  "observed_at_ms": 1791567020556,
  "service": {
    "capabilities": [
      "Query",
      "Extract"
    ],
    "copyright_text": null,
    "current_version": 12,
    "description": null,
    "host": "services5.arcgis.com",
    "item_id": "ccd29fb4bd5e4b44a2d61638829a5d7e",
    "layers": [
      {
        "geometry_type": "Polygon",
        "id": 0,
        "name": "USA_Flood_Hazard_Areas",
        "parent_layer_id": null,
        "type": "Feature Layer",
        "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
      }
    ],
    "max_record_count": 2000,
    "name": "USA_Flood_Hazard_Areas_view",
    "tables": [],
    "type": "FeatureServer",
    "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer"
  },
  "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
}
```

### Query layer

- Capability: `gis-layers/query_layer`
- Description: Query one public ArcGIS feature layer or table (FeatureServer or MapServer layer that supports Query) with an ArcGIS SQL where clause, a WGS84 point (optionally with a search radius in metres) or bounding box, chosen output fields and ordering. Returns compact rows of attributes (date fields as RFC 3339 UTC) and, on request, GeoJSON geometry in WGS84 (6 decimals, vertex-capped), plus the total matching count, next_offset for paging (offset/limit up to 200 per page, respecting the layer's maxRecordCount and exceededTransferLimit) and the layer's attribution (licence, credits, copyright). count_only returns just the count. Works on ArcGIS Online and agency ArcGIS Servers; non-ArcGIS answers are invalid_input not_arcgis_service, token-protected services not_found, server-rejected clauses invalid_input rejected_by_server.
- Instructions: Look up the parcel, zoning district, flood zone, permit, address point or boundary at a location or matching an id (e.g. an assessor parcel number), or page through a layer's records. Get field names from describe_layer first.
- Cost: 5 credits per call
- Capability file: [Query layer](https://firecrawl.dev/alexandria/agents/providers/arcgis-com/gis-layers/query_layer)

Accepted options:
- `bbox` (number[]): [west, south, east, north] in WGS84 degrees. Example: `[]`
- `count_only` (boolean): Return only total_count, no rows. Example: `false`
- `distance_m` (number): Search radius around point, in metres (default 0: features containing the point). Example: `10`
- `layer` (number): Layer id within the service, when the URL names the service only. Example: `10`
- `limit` (number): Rows per page; the layer's maxRecordCount may cap it lower. Example: `25`
- `offset` (number): Rows to skip (next_offset from the previous page). Example: `0`
- `order_by` (string[]): `FIELD` or `FIELD DESC`. Default: object id ascending, for stable paging. Example: `[]`
- `out_fields` (string[]): Fields to return (case-insensitive, checked against the layer). Default: all fields. Example: `[]`
- `point` (object): WGS84 point: features at (or within distance_m of) this location. Example: `{}`
- `return_geometry` (boolean): Include GeoJSON geometry per row (WGS84). Example: `false`
- `spatial_rel` (string): Relation between the features and point/bbox. Example: `intersects`
- `url` (string, required): ArcGIS REST service or layer URL: https://<host>/<adaptor>/rest/services/<folder>/<service>/FeatureServer[/<layer>] or …/MapServer[/<layer>], on ArcGIS Online (services*.arcgis.com/<orgId>/arcgis/rest/services/…) or an agency's ArcGIS Server (gis.<agency>.gov/arcgis/rest/services/…). Query strings are ignored; URLs carrying a token or key are refused. Example: `<url>`
- `where` (string): ArcGIS SQL-92 where clause, e.g. `PIN = '123-456-789'`, `ZONE_CODE LIKE 'R-%'`, `FLD_ZONE IN ('AE','VE')`. Example: `1=1`

Response schema example:
```json
{
  "attribution": {
    "access_information": "Source: FEMA, Esri",
    "copyright_text": null,
    "item_id": "ccd29fb4bd5e4b44a2d61638829a5d7e",
    "item_url": "https://www.arcgis.com/home/item.html?id=ccd29fb4bd5e4b44a2d61638829a5d7e",
    "license_info": "This work is licensed under the Esri Master License Agreement. View Summary | View Terms of Use"
  },
  "count": 1,
  "count_only": false,
  "exceeded_transfer_limit": false,
  "layer": {
    "geometry_type": "Polygon",
    "name": "USA_Flood_Hazard_Areas",
    "object_id_field": "OBJECTID",
    "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer/0"
  },
  "limit": 25,
  "next_offset": null,
  "observed_at_ms": 1791567021306,
  "offset": 0,
  "return_geometry": false,
  "rows": [
    {
      "attributes": {
        "DFIRM_ID": "22071C",
        "FLD_ZONE": "X",
        "SFHA_TF": "F",
        "STATIC_BFE": null,
        "ZONE_SUBTY": "0.2 Percent Annual Chance Flood Hazard"
      }
    }
  ],
  "total_count": 1,
  "where": "1=1"
}
```

### Search datasets

- Capability: `gis-layers/search_datasets`
- Description: Search the public ArcGIS Online / ArcGIS Hub catalog (www.arcgis.com portal search) for government GIS layers published as Feature Services or Map Services: parcels, zoning, flood zones, permits, addresses, boundaries and similar. Filter by keywords, one Hub open-data site (e.g. public-nps.opendata.arcgis.com, opendata.dc.gov) or ArcGIS organization id, owner and a WGS84 bounding box; sort by relevance, last modified, views or title; page through up to 10,000 results. Each item has its id, title, type, REST service URL (for describe_layer / query_layer), owner and organization, snippet, tags, dates, authoritative flag, licence and credit text, WGS84 extent and view count. Only public items are returned; there are no credentials.
- Instructions: Find which public ArcGIS layer holds the data (a county's parcels or zoning, FEMA flood zones, a park's trails, a city's permits) and get its service URL. Start here unless you already have a .../FeatureServer or .../MapServer URL.
- Cost: 5 credits per call
- Capability file: [Search datasets](https://firecrawl.dev/alexandria/agents/providers/arcgis-com/gis-layers/search_datasets)

Accepted options:
- `bbox` (number[]): [west, south, east, north] in WGS84 degrees: items whose extent intersects it. Example: `[]`
- `limit` (number): limit Example: `20`
- `org_id` (string): ArcGIS Online organization id, e.g. the segment after services.arcgis.com/ in a service URL. Pattern: ^[A-Za-z0-9]{10,32}$. Example: `<org_id>`
- `owner` (string): ArcGIS username of the publisher (from a previous result's owner). Example: `<owner>`
- `page` (number): page Example: `1`
- `q` (string): Keywords (ArcGIS search syntax allowed, e.g. `parcels Napa`, `title:zoning`, `tags:flood`). Example: `parcels Napa`
- `site` (string): An ArcGIS Hub open-data site (hostname or any URL on it, e.g. data-smcmaps.opendata.arcgis.com or opendata.dc.gov). Restricts results to the site's organization. Example: `<site>`
- `sort` (string): sort Example: `relevance`
- `type` (string): Service type; feature services support the richest queries. Example: `any`

Response schema example:
```json
{
  "count": 2,
  "items": [
    {
      "access": "public",
      "access_information": "Source: FEMA, Esri",
      "authoritative": true,
      "bbox": [
        -92.858672,
        31.233415,
        -89.472985,
        33.004235
      ],
      "content_status": "public_authoritative",
      "created": "2026-03-23T19:28:14Z",
      "id": "ccd29fb4bd5e4b44a2d61638829a5d7e",
      "item_url": "https://www.arcgis.com/home/item.html?id=ccd29fb4bd5e4b44a2d61638829a5d7e",
      "license_info": "This work is licensed under the Esri Master License Agreement. View Summary | View Terms of Use",
      "modified": "2026-07-20T19:08:00Z",
      "org_id": "7weheFjxuNkGGiZi",
      "owner": "esri_landscapes",
      "snippet": "This feature layer displays Flood Hazard Areas from the Flood Insurance Rate Map created by the Federal Emergency Management Agency, updated annually.",
      "tags": [
        "FIRM",
        "FIRMs",
        "FEMA",
        "Flood Zones",
        "SFHA",
        "SFHAs",
        "Flood Zone",
        "S_Fld_Haz_Ar",
        "Hazard",
        "Hazards",
        "Flood",
        "Floods",
        "Federal Emergency Management Agency",
        "National Flood Hazard Layer",
        "NFHL"
      ],
      "title": "USA Flood Hazard Areas",
      "type": "Feature Service",
      "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Flood_Hazard_Areas_view/FeatureServer",
      "views": 453931
    },
    {
      "access": "public",
      "access_information": "Source: USDA NRCS, Esri",
      "authoritative": true,
      "bbox": [
        -93.683371,
        41.558474,
        -93.541722,
        41.650083
      ],
      "content_status": "public_authoritative",
      "created": "2026-08-27T15:09:59Z",
      "id": "d4c54647dd4c4405a9f4f0bc9fd351e9",
      "item_url": "https://www.arcgis.com/home/item.html?id=d4c54647dd4c4405a9f4f0bc9fd351e9",
      "license_info": "This work is licensed under the Esri Master License Agreement. View Summary | View Terms of Use Important Note: This item requires an ArcGIS Online organizational subscription or an ArcGIS Developer account and does not consume credits. To access this item, you'll need to do one of the following: Sign in with an account that is a member of an organizational subscription Sign in with a developer account Register an application and use your application's credentials. If you don't have an account,…",
      "modified": "2026-09-10T15:32:36Z",
      "org_id": "7weheFjxuNkGGiZi",
      "owner": "esri_landscapes",
      "snippet": "This feature layer displays soil map units of the United States and its territories. It is derived from the US Department of Agriculture, Natural Resources Conservation Service SSURGO dataset. This layer is updated annually.",
      "tags": [
        "landscape",
        "soils",
        "NRCS",
        "SSURGO",
        "SoilDerivative",
        "environment",
        "environments",
        "soil",
        "map unit",
        "map units",
        "esri_landscape",
        "esri_landscapes"
      ],
      "title": "USA Soils Map Units",
      "type": "Feature Service",
      "url": "https://services5.arcgis.com/7weheFjxuNkGGiZi/arcgis/rest/services/USA_Soils_Map_Units/FeatureServer",
      "views": 1538
    }
  ],
  "limit": 5,
  "next_page": null,
  "observed_at_ms": 1791567020354,
  "org_id": null,
  "page": 1,
  "query": "(USA Flood Hazard Areas) AND type:\"Feature Service\" AND owner:\"esri_landscapes\"",
  "site": null,
  "total": 2
}
```
