isitwater
Check if geographic coordinates are over water or land using the IsItWater API.
Best use case
isitwater is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Check if geographic coordinates are over water or land using the IsItWater API.
Teams using isitwater should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/isitwater/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How isitwater Compares
| Feature / Agent | isitwater | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Check if geographic coordinates are over water or land using the IsItWater API.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# IsItWater
Determine whether a latitude/longitude coordinate is over water using the IsItWater API.
## Setup
Before making API calls, check whether the user has an API key configured:
1. Check if `ISITWATER_API_KEY` is set in the environment.
2. If it is **not** set:
- Inform the user: "You need an IsItWater API key. You can get one at https://isitwater.com"
- Offer to help them sign up using the browser tool — navigate to https://isitwater.com, create an account, and generate an API key from the dashboard.
- Once the user has a key, guide them to configure it in `~/.openclaw/openclaw.json`:
```json
{
"skills": {
"entries": {
"isitwater": {
"apiKey": "YOUR_API_KEY_HERE"
}
}
}
}
```
- Alternatively, the user can export the environment variable directly: `export ISITWATER_API_KEY=YOUR_API_KEY_HERE`
3. Once the key is available, proceed with the API calls below.
## Water Lookup
Check whether a coordinate is over water or land.
**Endpoint:** `GET https://api.isitwater.com/v1/locations/water`
**Headers:**
- `Authorization: Bearer $ISITWATER_API_KEY`
**Query Parameters:**
| Parameter | Type | Required | Description |
|-----------|--------|----------|--------------------------------|
| `lat` | number | yes | Latitude, between -90 and 90 |
| `lon` | number | yes | Longitude, between -180 and 180 |
**Example curl:**
```bash
curl -s "https://api.isitwater.com/v1/locations/water?lat=41.7658&lon=-72.6734" \
-H "Authorization: Bearer $ISITWATER_API_KEY"
```
**Example response (land):**
```json
{
"request_id": "abc123",
"water": false,
"features": ["earth"],
"latitude": "41.7658",
"longitude": "-72.6734"
}
```
**Example response (water):**
```json
{
"request_id": "def456",
"water": true,
"features": ["earth", "ocean"],
"latitude": "36.0",
"longitude": "-30.0"
}
```
**Response Fields:**
| Field | Type | Description |
|--------------|----------|-----------------------------------------------------------------------------------------------------|
| `request_id` | string | Unique identifier for the request |
| `water` | boolean | `true` if the coordinate is over water, `false` if over land |
| `features` | string[] | Geographic features at the point — e.g. `earth`, `ocean`, `lake`, `river`, `glacier`, `nature_reserve` |
| `latitude` | string | The latitude that was queried |
| `longitude` | string | The longitude that was queried |
**Cost:** 1 credit per lookup.
## Account Info
Check the user's account details and remaining credit balance.
**Endpoint:** `GET https://api.isitwater.com/v1/accounts/me`
**Headers:**
- `Authorization: Bearer $ISITWATER_API_KEY`
**Example curl:**
```bash
curl -s "https://api.isitwater.com/v1/accounts/me" \
-H "Authorization: Bearer $ISITWATER_API_KEY"
```
**Response Fields:**
| Field | Type | Description |
|------------------------|---------|--------------------------------------|
| `id` | string | Account identifier |
| `name` | string | Account name |
| `balance` | number | Remaining credits |
| `auto_recharge_enabled`| boolean | Whether auto-recharge is turned on |
**Cost:** Free (no credits consumed).
## Error Handling
| Status Code | Meaning | Description |
|-------------|----------------------|------------------------------------------------|
| 200 | OK | Request succeeded |
| 400 | Bad Request | Invalid latitude or longitude values |
| 401 | Unauthorized | Missing or invalid API key |
| 402 | Payment Required | Account has no remaining credits |
Error responses return a JSON body:
```json
{
"error": "description of the problem"
}
```
## Tips
- Each water lookup costs **1 credit**. Use the Account Info endpoint to check the user's balance before making many requests.
- When the user provides a **place name** instead of coordinates (e.g. "Is the Sahara Desert water?"), geocode the location first to get lat/lon, then call the water lookup endpoint.
- The `features` array can contain **multiple overlapping values** for a single point — for example, a point might return both `lake` and `nature_reserve`.Related Skills
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.
surf-check
Surf forecast decision engine.
jinko-flight-search
Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.
mlx-whisper
Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).