NAVBathy API

AI-powered bathymetry processing API. Access satellite-derived depth data programmatically from your applications.

Fast Processing
Secure Authentication
RESTful API

Getting Started

1

Create an API Key

Visit your dashboard to generate a new API key. Keep it secure - it won't be shown again!

2

Make Your First Request

Use your API key in the Authorization header to authenticate requests.

3

Process Bathymetry Data

Scout for satellite imagery, process bathymetry, and download TIFF results.

Authentication

All API requests require authentication using your API key in the Authorization header:

Authorization: Bearer nav_your_api_key_here

Base URL

https://darkocean.ai/api/v1

API Endpoints

POST

/navbathy/scout

Scout for available satellite imagery in a specified area and date range.

Request Body

{
  "bounds": {
    "north": 29.8,
    "south": 29.7,
    "east": 48.6,
    "west": 48.5
  },
  "start_date": "2024-01-01",
  "end_date": "2024-12-31"
}

Response

{
  "success": true,
  "images_found": 12,
  "area_sqkm": 11.4,
  "credits_required": 60,
  "credits_remaining": 998940,
  "scenes": [
    {
      "scene_id": "S2A_20240115_T38SMB_0",
      "date": "2024-01-15",
      "satellite": "Sentinel-2A",
      "cloud_cover": 5.2
    }
  ]
}

cURL Example

curl -X POST https://darkocean.ai/api/v1/navbathy/scout \
  -H "Authorization: Bearer nav_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"bounds":{"north":29.8,"south":29.7,"east":48.6,"west":48.5},"start_date":"2024-01-01","end_date":"2024-12-31"}'
POST

/navbathy/process

Process bathymetry data for a specific scene to generate a depth TIFF.

Request Body

{
  "scene_id": "S2A_20240115_T38SMB_0",
  "bounds": {
    "north": 29.8,
    "south": 29.7,
    "east": 48.6,
    "west": 48.5
  }
}

Response

{
  "success": true,
  "job_id": "job_abc123xyz",
  "status": "processing",
  "area_sqkm": 11.4,
  "credits_charged": 60,
  "credits_remaining": 998880,
  "estimated_completion": "2024-01-15T10:35:00Z"
}
GET

/navbathy/jobs/:id

Check the status of a bathymetry processing job.

Response

{
  "success": true,
  "job_id": "job_abc123xyz",
  "status": "completed",
  "tiff_url": "https://blob.vercel-storage.com/bathymetry_xyz.tif",
  "metadata": {
    "scene_id": "S2A_20240115_T38SMB_0",
    "date": "2024-01-15",
    "satellite": "Sentinel-2A",
    "area_sqkm": 11.4,
    "min_depth": -25.4,
    "max_depth": -2.1
  },
  "completed_at": "2024-01-15T10:35:42Z"
}

cURL Example

curl -X GET https://darkocean.ai/api/v1/navbathy/jobs/job_abc123xyz \
  -H "Authorization: Bearer nav_your_api_key_here"

Account Management

GET

/account/credits

Check your current credit balance and usage statistics.

GET

/account/keys

List all your API keys and their usage statistics.

POST

/account/keys

Create a new API key for your account.

Rate Limits

API requests are rate-limited per API key:

  • Standard: 100 requests per hour
  • Premium: 500 requests per hour

Rate limit headers are included in every response:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1642442400

Error Handling

The API uses standard HTTP status codes:

200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
402Payment Required - Insufficient credits
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Error Response Format

{
  "success": false,
  "error": "Insufficient credits",
  "message": "You need 60 credits but only have 45",
  "code": "INSUFFICIENT_CREDITS"
}

© 2025 Darkocean. All rights reserved.