Portail développeurs FlyAway Golf

La base de parcours FlyAway est lisible sans compte : ni clé d'API, ni OAuth, ni inscription. Chaque opération listée ici répond à une requête GET anonyme et renvoie du JSON. La description complète, lisible par machine, est publiée sous forme de document OpenAPI 3.1.

Démarrage rapide

Trois appels couvrent l'essentiel des besoins d'une intégration : résoudre un parcours, lire sa fiche complète, ou trouver les parcours les plus proches d'une coordonnée.

# Full profile of one course curl -s "https://api.flyawaygolf.com/v2/golfs/profile/golf-national" # The 10 courses nearest a coordinate, with distances in metres curl -s "https://api.flyawaygolf.com/v2/search/map/golfs?lat=48.75&long=2.07&max_distance=50000&limit=10" # The same course as prose, for a language model curl -s "https://flyawaygolf.com/golfs/golf-national/llm.md" # Base URL https://api.flyawaygolf.com/v2

Endpoints

Ce tableau est généré à partir du document OpenAPI : les deux ne peuvent donc pas diverger. Toutes les opérations sont des GET et toute réponse réussie est encapsulée dans une clé data de premier niveau.

OpérationEndpointDescription
Courses
listGolfCoursesGET https://api.flyawaygolf.com/v2/golfsList golf courses
getGolfCourseProfileGET https://api.flyawaygolf.com/v2/golfs/profile/{slug}Get the full profile of a golf course
getGolfCourseSummaryGET https://api.flyawaygolf.com/v2/seo/golfs/{identifier}Get a compact summary of a golf course
resolveGolfCourseIdGET https://api.flyawaygolf.com/v2/golfs/resolve/{golf_id}Resolve a course id to its slug
searchGolfCoursesByLocationGET https://api.flyawaygolf.com/v2/search/map/golfsFind golf courses around a coordinate
Directory
listContinentsGET https://api.flyawaygolf.com/v2/public/golfs/continentsList continents with course counts
listCountriesGET https://api.flyawaygolf.com/v2/public/golfs/countriesList countries with course counts
getDirectoryEntryGET https://api.flyawaygolf.com/v2/public/golfs/{slug}Get a continent or a country by slug
listCountryRegionsGET https://api.flyawaygolf.com/v2/public/golfs/{country}/regionsList the regions of a country
listRegionGolfCoursesGET https://api.flyawaygolf.com/v2/public/golfs/{country}/{region}List the golf courses of a region
listCityGolfCoursesGET https://api.flyawaygolf.com/v2/public/golfs/{country}/{region}/{city}List the golf courses of a city
Rankings
listBestGolfCoursesWorldwideGET https://api.flyawaygolf.com/v2/public/best/worldList the highest-rated courses worldwide
listBestGolfCoursesByAreaGET https://api.flyawaygolf.com/v2/public/best/{slug}List the highest-rated courses of a continent or country
listBestGolfCoursesByRegionGET https://api.flyawaygolf.com/v2/public/best/{country}/{region}List the highest-rated courses of a region
Metadata
getCountryMetadataGET https://api.flyawaygolf.com/v2/seo/country/{slug}Get breadcrumbs and counts for a country
getContinentMetadataGET https://api.flyawaygolf.com/v2/seo/continent/{slug}Get breadcrumbs and counts for a continent
getRegionMetadataGET https://api.flyawaygolf.com/v2/seo/region/{country}/{region}Get breadcrumbs and counts for a region
Enumeration
listSitemapContinentsGET https://api.flyawaygolf.com/v2/seo/sitemap/continentsEnumerate every continent slug
listSitemapCountriesGET https://api.flyawaygolf.com/v2/seo/sitemap/countriesEnumerate every country slug
listSitemapRegionsGET https://api.flyawaygolf.com/v2/seo/sitemap/regionsEnumerate every region slug
listSitemapCitiesGET https://api.flyawaygolf.com/v2/seo/sitemap/citiesEnumerate every city slug
Agent files
getGolfCourseMarkdownGET https://api.flyawaygolf.com/v2/golfs/{slug}/llm.mdGet a golf course as markdown
getLlmsTxtGET https://api.flyawaygolf.com/v2/llms.txtGet the llms.txt index
getOpenApiDocumentGET https://api.flyawaygolf.com/v2/openapi.jsonGet this document

Fichiers pour les agents IA

Quatre fichiers lisibles par machine décrivent le site à un agent. Commencez par llms.txt : il indique ce que contient le jeu de données, quand FlyAway est la bonne source, et les motifs d'URL de tout le reste.

  • /llms.txtWhat FlyAway is, what the dataset contains, when to use it, and the URL patterns for everything else. Start here.
  • /llms-full.txtThe same, at length: the product surface, the data model and the caveats in full.
  • /openapi.jsonThe public API as an OpenAPI 3.1 document. Also served as YAML at /openapi.yaml.
  • /golfs/{slug}/llm.mdAny course as markdown, e.g. https://flyawaygolf.com/golfs/golf-national/llm.md.
  • /sitemaps/indexThe sitemap index: every indexable URL, paginated, including all 35,165 course pages.

Authentification

Les endpoints publics en lecture ne demandent aucune information d'authentification : envoyez la requête et lisez la réponse. Les endpoints qui touchent aux données personnelles d'un membre (parties, statistiques, messages, assistant IA) exigent un jeton de session émis par les applications FlyAway ; ils ne font pas partie de la surface publique et sont volontairement absents du document OpenAPI, puisqu'un agent ne peut pas les appeler.

Limites de débit

Restez sous 5 requêtes par seconde depuis une même IP, et mettez en cache ce que vous lisez : les données de parcours ne changent pas d'une semaine à l'autre. FlyAway suit la convention RFC 9331 sur toute réponse portant un quota — RateLimit-Limit, RateLimit-Remaining et RateLimit-Reset, plus Retry-After sur un 429. Une réponse ne portant aucun de ces en-têtes n'a pas été décomptée d'un quota par appelant. Sur un 429, patientez le nombre de secondes indiqué par Retry-After puis réessayez une fois.

Erreurs

Les échecs renvoient un corps JSON contenant un objet error avec un message lisible et un code numérique stable. Un 400 signifie que l'identifiant ou un paramètre a été rejeté ; un 404 qu'aucune ressource ne correspond.

Utiliser l'API en function calling

Le document OpenAPI est écrit pour être chargé directement comme manifeste de function calling : chaque opération porte un operationId unique, une description écrite pour un modèle et non pour un moteur de recherche, des paramètres typés avec leurs bornes, et un schéma de réponse. Convertissez-le avec l'utilitaire OpenAPI-vers-outils de votre framework : aucun wrapper manuel n'est nécessaire.

Bibliothèques clientes

Il n'existe pas encore de CLI officielle ni de serveur MCP. En attendant, le document OpenAPI est le chemin d'intégration pris en charge, et les pages de parcours en markdown sont la façon prise en charge de lire un parcours sous forme de texte.

Assistance

Les questions techniques que la documentation ne couvre pas sont bienvenues par e-mail. Merci d'indiquer l'URL exacte appelée et la réponse obtenue.

[email protected]