govmap-api
This skill should be used when the user asks about 'GovMap layers', 'GovMap API', 'map layers', 'entitiesByPoint', 'layer metadata', 'govmap endpoints', 'what layers are available', 'query map data by location', or mentions adding new GovMap layer tools, querying geospatial data from govmap.gov.il, or extending the govmap data source with new layers. Provides the complete GovMap layers-catalog REST API reference, verified endpoint schemas, and the full catalog of 122 queryable government map layers with their field definitions.
DeepseekModel
Curated skill
Quality Excellent · 78
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=liorvainer-data-israel-claude-skills-govmap-api-skill-md&format=skill
Download .skill
Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name govmap-api description This skill should be used when the user asks about 'GovMap layers', 'GovMap API', 'map layers', 'entitiesByPoint', 'layer metadata', 'govmap endpoints', 'what layers are available', 'query map data by location', or mentions adding new GovMap layer tools, querying geospatial data from govmap.gov.il, or extending the govmap data source with new layers. Provides the complete GovMap layers-catalog REST API reference, verified endpoint schemas, and the full catalog of 122 queryable government map layers with their field definitions. GovMap Layers-Catalog REST API Complete reference for querying Israeli government map layers via the GovMap layers-catalog REST API. All endpoints verified working as of 2026-04-10. API Overview GovMap exposes three REST API service prefixes. Only layers-catalog works without an API token: Service Prefix Auth Required Status /api/layers-catalog/* No (requires Origin header) Primary — use this /api/search-service/* No Already used by nadlan autocomplete /api/spatial-analysis/* Yes (domain-bound apiToken ) Requires registration at govmap.gov.il Base URL: https://www.govmap.gov.il/api Required header: Origin: https://www.govmap.gov.il (for layers-catalog endpoints) Coordinate system: All coordinates are EPSG:3857 (Web Mercator) , NOT ITM. The autocomplete endpoint returns shapes in this projection. Core Endpoints 1. POST /api/layers-catalog/entitiesByPoint Query entities from one or more layers near a geographic point. No API token required. Request body: { "point" : [ 3873880 , 3769003 ] , "layers" : [ { "layerId" : "GASSTATIONS" } , { "layerId" : "Neighborhood" } , { "layerId" : "PARCEL_ALL" , "filter" : "optional CQL filter" } ] , "tolerance" : 2000 , "calculateDistance" : true , "language" : "he" } Field Type Required Description point [number, number] Yes [x, y] in EPSG:3857 layers Array<{layerId, filter?}> Yes Layers to query tolerance number Yes Search radius in meters calculateDistance boolean No Include distance from point language string No "he" or "en" Response: { "data" : [ { "name" : "gasstations" , "caption" : "תחנות דלק" , "fieldsMapping" : { "name" : "שם" , "company" : "חברה" } , "entities" : [ { "objectId" : 123 , "centroid" : [ 3873500 , 3769200 ] , "geom" : "POINT Z (...)" , "fields" : [ { "fieldName" : "שם" , "fieldValue" : "תל אביב" , "fieldType" : 1 , "isVisible" : true } ] , "distance" : 475.7 } ] , "dim" : 2 , "layerId" : "42" } ] } Key behaviors: Multi-layer queries supported (pass multiple objects in layers array) Returns up to 100 entities per layer Empty "data": [] means no features found within tolerance Layer IDs are case-sensitive (e.g., GASSTATIONS not gasstations ) fieldsMapping maps internal field names to Hebrew display names fieldType : 1=text, 2=number, 8=date 2. GET /api/layers-catalog/layer/{layerId}/metadata Get field definitions and source info for a layer. No API token required. Response: { "description" : { "name" : "תחנות דלק" , "source" : "משרד האנרגיה" , "description" : "..." } , "fields" : { "name" : "שם" , "company" : "חברה" , "address" : "כתובת" , "city" : "עיר" } } Returns null for layers that don't expose metadata. 3. POST /api/spatial-analysis/layer-features-by-location (Token Required) More powerful than entitiesByPoint — supports WKT geometry (polygons, lines), not just points. Request body: { "data" : { "geometry" : "POINT(179614.81 663968.73)" , "radius" : 500 , "layers" : [ { "name" : "GASSTATIONS" , "fields" : [ "name" , "company" ] } ] } , "apiToken" : "your-domain-bound-token" } Requires both apiToken and Origin header matching the registered domain. Geocoding Workflow To query layers by Hebrew address, first geocode via autocomplete (already implemented in nadlan client): POST /api/search-service/autocomplete { "searchText": "דיזנגוף 50 תל אביב יפו" } Returns shape: "POINT(3873880 3769003)" in EPSG:3857. Parse with parseCoordinatesFromShape() from govmap.client.ts , then pass to entitiesByPoint . Verified Layer Tiers Layers tested and confirmed returning data via entitiesByPoint (5km tolerance, Tel Aviv center): Tier Layer ID Hebrew Name Entities Found Tier 1 PARCEL_ALL חלקות 100 SUB_GUSH_ALL גושים 100 Neighborhood שכונות 4 statistic_areas אזורים סטטיסטיים 100 bus_stops תחנות אוטובוס 100 hotels בתי מלון 93 GASSTATIONS תחנות דלק 55 Tier 2 POLICE_Yehida_Location תחנות משטרה 9 FIRE_STATIONS תחנות כיבוי 6 Emergancy_Hospitals בתי חולים 3 Null metadata shmurot_teva_ganim שמורות טבע 0 ganim_leumim גנים לאומיים 0 mitchmim_mshbsh התחדשות עירונית 0 activefaults שברים פעילים 0 Layers returning null metadata may require different layer IDs or may not be queryable via this endpoint. Implementation in This Project The existing govmap data source at src/data-sources/govmap/ already has: Shared client infrastructure ( api/govmap.client.ts ) with rate limiting and retry Autocomplete geocoding ( /search-service/autocomplete ) Coordinate parsing ( parseCoordinatesFromShape ) Portal URL generation ( buildGovmapPortalUrl ) New layer tools should follow the subfolder pattern (like tools/nadlan/ ): Create api/layers/ for the layers-catalog client methods Create tools/layers/ for the new tools Spread new tools into the parent tools/index.ts Update agent instructions, translations, and source configs Additional Resources Reference Files references/layers-catalog.md — Complete catalog of all 122 GovMap layers with IDs, Hebrew names, sources, and field schemas for every layer that exposes metadata references/api-endpoints.md — Detailed endpoint documentation including Zod schemas extracted from the GovMap JS bundle, response examples, error handling, and the layer-features-by-location (token-required) endpoint specification Existing Project Files src/data-sources/govmap/api/govmap.client.ts — Shared HTTP client (reuse for new tools) src/data-sources/govmap/api/govmap.constants.ts — Layer ID constants (extend with new layers) src/data-sources/govmap/api/govmap.endpoints.ts — URL builders (add layers-catalog paths) src/data-sources/CLAUDE.md — Data source architecture guide (subfolder pattern)
Keywords that activate this skill. Click one to copy it.
This skill does not provide trigger words.
The downloaded .skill package contains the following fields.
| Field | Description |
|---|---|
| format | Format tag (skill/v1) |
| skill_id | Unique skill ID |
| name | Skill name |
| version | Version |
| description | Description |
| category | Categories (array) |
| trigger_words | Trigger words |
| tags | Tags |
| source | Source |
| source_url | Source URL (this page) |
| exported_at | Exported at (set per download) |
| system_prompt | System prompt body |
| model_config | Model config: provider / model / temperature / max_tokens / top_p |
| examples | Examples |
| install_guide | Import guide for Coze / Dify / Claude / custom frameworks |
The same skill can be exported in different platform formats.