Facebook Pixel

FishGPT API

Ask fishing questions and stream back answers.

Send a fishing question to FishGPT and receive a streamed response with practical advice, optional product suggestions, video references, weather context, and location data when available.

Endpoint

POST /api/chat

Format

JSON request, streamed response

Typical use

Fishing Q&A and trip advice

Request Body

The only required field is question. Tool flags are optional and default to enabled.

{
  "question": "What lures should I throw for largemouth bass in stained water?",
  "enabledTools": {
    "weather": true,
    "shop": true,
    "youtube": true,
    "tackle": true
  }
}
questionstring

The fishing question FishGPT should answer.

enabledToolsobject

Optional switches for weather, shopping, YouTube, and Tackle.net context.

imageUrlstring

Optional image URL or data URL for fish, gear, or location analysis.

isPrivateboolean

Optional flag for keeping a submitted question private.

Response

The endpoint streams progress events first, then returns the answer payload. Clients should read the response body as a stream.

data: {"progress":{"type":"ai_processing","message":"Writing your answer","status":"started","timestamp":1760000000000}}

{
  "chat_id": "abc123",
  "question": "What is the best setup for trout fishing from shore?",
  "answer": "For shore trout, start with a light spinning rod...",
  "category": "gear",
  "geo_data": null
}

Testing

Test with curl

curl -N https://fishgpt.com/api/chat \
  -H "Content-Type: application/json" \
  -d '{
    "question": "What lures should I throw for largemouth bass in stained water?"
  }'

Test in JavaScript

const response = await fetch('/api/chat', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    question: 'What is the best setup for trout fishing from shore?'
  })
})

const reader = response.body?.getReader()
const decoder = new TextDecoder()

while (reader) {
  const { done, value } = await reader.read()
  if (done) break

  const chunk = decoder.decode(value, { stream: true })
  console.log(chunk)
}

Good Questions

What lures should I use for bass after heavy rain?
How should I fish for trout from shore in cold water?
What rod and reel setup works for inshore redfish?
Where should I start when fishing a new lake?

Need API help or access details? Contact support.