API Reference
Build fishing apps, integrate real-time hatch data, water conditions, and species intelligence into your platform. 12 route groups, 40+ endpoints.
🔑 Authentication
Bearer Token
Authenticated endpoints require a JWT token obtained via /api/auth/login. Include the token in the Authorization header:
Most read endpoints are public. Write operations (logging catches, updating profiles) require authentication. Endpoints marked AUTH require a valid token. Endpoints marked OPT accept an optional token for enhanced responses.
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | User email address | |
| password | string | Yes | Password (min 6 characters) |
| displayName | string | No | Public display name |
Example Request
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | Registered email | |
| password | string | Yes | Account password |
Example Response
{ valid: true, userId, email }.⏱ Rate Limits
Current Limits
- Public endpoints: 60 requests/minute per IP
- Authenticated endpoints: 120 requests/minute per user
- External API proxies (Weather, Water): 30 requests/minute (NWS/USGS rate limits apply)
- AI Coaching: 10 requests/minute (QwenBridge capacity)
Rate limit headers are included in responses: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
🐟 Species
57-species database with habitat, feeding patterns, fishing techniques, and state records.
| Parameter | Type | Required | Description |
|---|---|---|---|
| category | string | No | Filter by category (e.g. "bass", "trout", "catfish") |
| q | string | No | Search by name or alias |
| page | integer | No | Page number (default: 1) |
| limit | integer | No | Results per page (default: 50) |
Example Request
Example Request
📍 Locations
Nationwide fishing location database with species lists, regulations, and GPS coordinates.
| Parameter | Type | Required | Description |
|---|---|---|---|
| state | string | No | State name (e.g. "Ohio") |
| type | string | No | lake, river, reservoir, pond, creek |
| q | string | No | Search by location name |
| page | integer | No | Page number (default: 1) |
| limit | integer | No | Results per page (default: 50) |
| Parameter | Type | Required | Description |
|---|---|---|---|
| lat | number | Yes | Latitude |
| lng | number | Yes | Longitude |
| limit | integer | No | Number of results (default: 5) |
Example Request
🎣 Catches
Log catches, track personal bests, earn XP, and compete on leaderboards.
| Parameter | Type | Required | Description |
|---|---|---|---|
| speciesId | string | Yes | Species identifier (e.g. "largemouth_bass") |
| locationId | string | No | Location from database |
| customLocation | string | No | Free-text location name |
| weight | number | No | Weight in lbs |
| length | number | No | Length in inches |
| baitUsed | string | No | Bait or lure used |
| technique | string | No | Fishing technique |
| waterTemp | number | No | Water temperature (F) |
| photo | file | No | Photo (JPEG/PNG/WebP, max 10MB) |
| notes | string | No | Additional notes |
Example Request
🧠 Coaching
AI-powered fishing coaching using the CAST methodology (Conditions, Activity, Select, Technique).
| Parameter | Type | Required | Description |
|---|---|---|---|
| species | string | No | Target species |
| location | string | No | Fishing location name |
| season | string | No | spring, summer, fall, winter |
| waterTemp | number | No | Water temp in F |
| Parameter | Type | Required | Description |
|---|---|---|---|
| question | string | Yes | Your fishing question |
| species | string | No | Target species for context |
| location | string | No | Location for context |
| season | string | No | Current season |
| waterTemp | number | No | Water temp in F |
Example Request
🪲 Hatch / Food Chain
The core differentiator: real-time hatch predictions and food chain analysis.
| Parameter | Type | Required | Description |
|---|---|---|---|
| waterTemp | number | No | Water temperature (F) |
| airTemp | number | No | Air temperature (F) |
| pressure | number | No | Barometric pressure (inHg) |
| pressureTrend | string | No | rising, falling, stable |
| cloudCover | string | No | clear, partly_cloudy, overcast |
| wind | string | No | calm, light, moderate, strong |
| region | string | No | Geographic region (default: midwest) |
Example Request
| Parameter | Type | Required | Description |
|---|---|---|---|
| lat | number | No | Latitude |
| lng | number | No | Longitude |
| species | string | No | Target species for tailored recommendations |
| waterTemp | number | No | Water temperature (F) |
| pressure | number | No | Barometric pressure (inHg) |
| region | string | No | Geographic region |
📈 Forecast
Predictive fishing scores using solunar data, food chain analysis, and seasonal patterns.
| Parameter | Type | Required | Description |
|---|---|---|---|
| lat | number | No | Latitude (centers search) |
| lng | number | No | Longitude |
| radius | number | No | Search radius in miles (default: 100) |
| species | string | No | Filter by species |
| limit | integer | No | Number of results (default: 10) |
⛅ Weather
Fishing-relevant weather from the National Weather Service API.
| Parameter | Type | Required | Description |
|---|---|---|---|
| lat | number | Yes | Latitude |
| lng | number | Yes | Longitude |
Example Request
🌊 Water Conditions
Real-time water data from USGS gauges: temperature, flow, dissolved oxygen, turbidity, pH.
Example Request
Example Request
🍳 Recipes
Fish recipes matched to species, difficulty level, and cooking method.
📅 Calendar
Seasonal fishing calendars by state and species.
Example Request
Apply for API Access
Want to build on top of Fish Translator data? Apply for an API key and get higher rate limits, webhook support, and priority access to new endpoints.
📱 Social
Shareable catch cards, public feed, and leaderboards.