Skip to main content
GET
/
pois
Get All POIs
curl --request GET \
  --url https://api.example.com/pois
[
  {
    "id": 1,
    "name": "Eiffel Tower",
    "address": "Champ de Mars, 5 Avenue Anatole France, 75007 Paris",
    "poi": {
      "type": "Point",
      "coordinates": [48.8584, 2.2945]
    },
    "category": "monument",
    "open_time": "09:00:00",
    "close_time": "23:45:00",
    "average_stay_minutes": 120
  },
  {
    "id": 2,
    "name": "Louvre Museum",
    "address": "Rue de Rivoli, 75001 Paris",
    "poi": {
      "type": "Point",
      "coordinates": [48.8606, 2.3376]
    },
    "category": "museum",
    "open_time": "09:00:00",
    "close_time": "18:00:00",
    "average_stay_minutes": 180
  }
]

Endpoint

GET /pois

Description

Retrieves all points of interest stored in the MayTravel catalog, including their geographic coordinates, addresses, categories, operating hours, and average visit duration.

Request

This endpoint does not require any parameters or request body.

Example Request

cURL
curl -X GET https://api.maytravel.com/pois
JavaScript
const response = await fetch('https://api.maytravel.com/pois', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});

const pois = await response.json();
Python
import requests

response = requests.get('https://api.maytravel.com/pois')
pois = response.json()

Response

response
array
Array of POI objects

Success Response

[
  {
    "id": 1,
    "name": "Eiffel Tower",
    "address": "Champ de Mars, 5 Avenue Anatole France, 75007 Paris",
    "poi": {
      "type": "Point",
      "coordinates": [48.8584, 2.2945]
    },
    "category": "monument",
    "open_time": "09:00:00",
    "close_time": "23:45:00",
    "average_stay_minutes": 120
  },
  {
    "id": 2,
    "name": "Louvre Museum",
    "address": "Rue de Rivoli, 75001 Paris",
    "poi": {
      "type": "Point",
      "coordinates": [48.8606, 2.3376]
    },
    "category": "museum",
    "open_time": "09:00:00",
    "close_time": "18:00:00",
    "average_stay_minutes": 180
  }
]

Error Response

{
  "error": "Database connection failed"
}

Implementation Details

Source: backend/src/components/poi_catalog/controller/PoisController.mjs:5 The endpoint queries the poi_catalog table and returns all records with their associated geographic data stored in PostGIS format.

Build docs developers (and LLMs) love