Full ArcGIS Enterprise, Server, and Portal integration with authentication, all ESRI layer types, WebMap loading, cloud-native data, and no-code YAML configuration.
Everything you need to integrate ArcGIS with modern web mapping applications
OAuth2/PKCE, API Keys, generateToken, and App credentials. Full support for ArcGIS Online, Enterprise, and Server.
FeatureService, DynamicMapService, TiledMapService, VectorTileService, and ImageService with automatic token injection.
Load portal items by ID, apply renderers automatically, and fit to initial extents. Extract 2D layers from WebScenes.
Stream COGs from public HTTPS or private S3 buckets with pre-signed URLs. In-browser raster analytics via Pyodide.
Visualize COPC, LAZ, and EPT point clouds from S3 or HTTPS with deck.gl-powered rendering and classification coloring.
Load GeoJSON, Shapefile, KML, GPX, CSV, Parquet, FlatGeoBuf, GeoPackage in-browser. No server required.
360 panoramas and oblique imagery with spatial synchronization, viewing frustums, and image enhancements.
Define maps in YAML, build with Python CLI. Convert existing WebMaps to YAML. Deploy anywhere as static HTML.
A modular, client-side architecture designed for enterprise integration
graph TB
subgraph Client["Browser Client"]
ML[MapLibre GL JS]
MA[MapLibre ArcGIS Library]
end
subgraph Auth["Authentication Layer"]
OAUTH[OAuth2/PKCE]
APIKEY[API Key]
TOKEN[generateToken]
APP[App Credentials]
end
subgraph ESRI["ArcGIS Platform"]
AGOL[ArcGIS Online]
ENTERPRISE[ArcGIS Enterprise]
PORTAL[ArcGIS Portal]
SERVER[ArcGIS Server]
end
subgraph Cloud["Cloud Data Sources"]
S3[AWS S3]
HTTPS[Public HTTPS]
end
subgraph Local["In-Browser Processing"]
DUCKDB[DuckDB WASM]
PYODIDE[Pyodide Python]
end
ML --> MA
MA --> Auth
Auth --> ESRI
MA --> Cloud
MA --> Local
Cloud --> COG[COG Raster]
Cloud --> COPC[COPC LiDAR]
DUCKDB --> GIS[GIS Files]
PYODIDE --> ANALYTICS[Raster Analytics]
Get started in minutes with TypeScript or no-code YAML
import maplibregl from 'maplibre-gl';
import { ArcGISAuthManager, ArcGISLoginControl, EsriFeatureServiceControl } from 'maplibre-arcgis';
import 'maplibre-arcgis/styles';
const map = new maplibregl.Map({
container: 'map',
style: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',
center: [-98.5, 39.8],
zoom: 4,
});
const auth = new ArcGISAuthManager({
portalUrl: 'https://www.arcgis.com',
authMethod: 'oauth2',
clientId: 'YOUR_CLIENT_ID',
});
map.addControl(new ArcGISLoginControl({ auth }), 'top-right');
map.on('load', () => {
map.addControl(new EsriFeatureServiceControl({
id: 'my-layer',
url: 'https://services.arcgis.com/.../FeatureServer/0',
auth,
}));
});
Comprehensive support for all major ArcGIS and cloud-native data formats
| Type | Description | Source |
|---|---|---|
feature_service |
ArcGIS Feature Service (vector tiles) | ArcGIS Server/Enterprise/Online |
dynamic_map_service |
ArcGIS Dynamic Map Service (raster) | ArcGIS Server |
tiled_map_service |
ArcGIS Tiled Map Service (cached) | ArcGIS Server |
vector_tile_service |
ArcGIS Vector Tile Service | ArcGIS Enterprise/Online |
image_service |
ArcGIS Image Service | ArcGIS Server |
webmap |
Portal WebMap item | ArcGIS Portal |
catalog |
Portal Catalog Layer with UI | ArcGIS Portal |
cog_s3 |
Cloud-Optimised GeoTIFF | S3 / HTTPS |
cog_analytics |
In-browser raster analytics | Pyodide |
copc_lidar |
COPC / LAZ / EPT point cloud | S3 / HTTPS |
duckdb |
Remote GIS file via DuckDB | Any HTTPS |
Deploy enterprise-grade GIS applications with MapLibre GL JS and ArcGIS integration.