API-documentatie

Introduction

The PigeonMeteo API gives you access to flight data, weather information and risk assessments. Use it to integrate PigeonMeteo data into your own applications.

Base URL: https://pigeonmeteo.nl/api

Authentication

Public endpoints (listing and viewing flights) require no authentication. To create flights or access your own private flights, you need an API key.

Generate your API key in your profielinstellingen.

Send your key via one of these headers:

Authorization: Bearer YOUR_API_KEY

or

X-API-Key: YOUR_API_KEY

Endpoints

GET /api/flights

List all public flights. Paginated, 25 per page.

Query parameters

Parameter Type Beschrijving
searchstringSearch by name, organizer or release point
directionstringFilter by direction (e.g. Zuid, Noord-Oost)
categorystringFilter by category (e.g. Jonge duiven, Fond)
organizerstringFilter by organizer name
date_fromdateFilter flights from this date (YYYY-MM-DD)
date_todateFilter flights until this date (YYYY-MM-DD)
per_pageintResults per page (default 25, max 100)
pageintPage number

Example

curl "https://pigeonmeteo.nl/api/flights?direction=Zuid&per_page=5"

GET /api/flights/{id}

Get detailed flight information including weather data, RTL risk assessment, feedback and results.

Example

curl "https://pigeonmeteo.nl/api/flights/1"

GET /api/organizers

List all approved organizers. Use the id when creating flights.

POST /api/flights Auth required

Create a new flight. Weather data is fetched automatically.

Body parameters (JSON)

Field Type Required Beschrijving
namestringyesRace name
organizer_idint-Organizer ID (from /api/organizers)
release_datedateyesYYYY-MM-DD
release_timetime-HH:mm:ss
release_location_namestringyesRelease point name
release_latitudefloat-Auto-geocoded if empty
release_longitudefloat-Auto-geocoded if empty
categorystring-e.g. Jonge duiven, Fond, Marathon
pigeon_countint-Number of pigeons
first_prize_speedfloat-m/min
last_prize_speedfloat-m/min
is_publicbool-Default: true
descriptionstring-Free text

Example

curl -X POST "https://pigeonmeteo.nl/api/flights" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Quiévrain Jong", "organizer_id": 5, "release_date": "2026-06-14", "release_time": "07:00:00", "release_location_name": "Quiévrain", "pigeon_count": 3200, "first_prize_speed": 1456.78 }'
GET /api/my/flights Auth required

List your own flights (including private ones). Paginated.

Response format

All responses are JSON. List endpoints return paginated results:

{ "data": [...], "current_page": 1, "per_page": 25, "total": 42, "last_page": 2, "next_page_url": "...?page=2", "prev_page_url": null }

Rate limiting

API requests are limited to 60 per minute. If you exceed this limit, you will receive a 429 status code.

Errors

Status Beschrijving
401Missing or invalid API key
404Flight not found or not public
422Validation error (check response body for details)
429Rate limit exceeded