MCP-Server

BeachFinder - beaches and live conditions

com.getbeachfinder/beachfinder
Karten & Standort Reisen & Hospitality Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Searches beaches, swimming, surf, diving, river, vanlife, and coastal activity locations, with spot details, current conditions, providers, and guides.

compare_spots
Compare BeachFinder spots
Compare two to five explicit BeachFinder spot IDs using only documented facts and current available conditions.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['spotIds'], 'properties': {'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'intent': {'enum': ['general', 'swimming', 'family', 'low-wind', 'warm-water', 'surf', 'accessible', 'amenities'], 'type': 'string', 'default': 'general'}, 'spotIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'maxItems': 5, 'minItems': 2}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
get_community_conditions
Get community conditions
Get an anonymous aggregate of active BeachFinder community reports for one spot. No user identity is returned.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['spotId'], 'properties': {'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'spotId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
get_spot_conditions
Get spot conditions
Get current water, weather, wind, UV, wave and current planning signals for one BeachFinder spot ID.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['spotId'], 'properties': {'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'spotId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
get_spot_details
Get spot details
Get stable public facts and localized editorial content for one BeachFinder spot ID.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['spotId'], 'properties': {'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'spotId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
search_activity_providers
Search activity and coastal travel providers
Use for conversational requests for professionals near a destination: surf schools, camps, shops, board or wetsuit rental and repair; dive, snorkel and freedive centers; SUP, paddle, kayak and canoe rental, lessons or tours; rafting, canyoning and whitewater outfitters; boat, sailing, fishing, wildlife, jet-ski and beach services; plus campervan, motorhome, RV and surf-van rental, sales, dealers, conversion builders, repair workshops and coastal RV parks. Search in any supported language. Results expose only the provider name, normalized service category, approximate location, verification tier and BeachFinder profile/app links; direct contacts remain on the BeachFinder claimable profile.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude supplied with user consent'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude supplied with user consent'}, 'city': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': 'Destination city; use this instead of coordinates'}, 'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': "Exact beach, activity or professional-service request in the user's language. Preserve narrow needs such as surfboard repair, freediving school, SUP rental, rafting guide, campervan rental, motorhome dealer, van conversion or RV repair."}, 'intent': {'enum': ['general', 'swimming', 'family', 'low-wind', 'warm-water', 'surf', 'accessible', 'amenities'], 'type': 'string', 'default': 'general'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'radiusKm': {'type': 'number', 'default': 50, 'maximum': 150, 'minimum': 1}, 'maxWindKmh': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'minWaterTempC': {'type': 'number', 'maximum': 45, 'minimum': -5}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
search_beaches
Search beaches
Find public beaches by city or consented coordinates and rank them for swimming, family, warm-water, low-wind, surf, accessibility or amenities. Returns compact results with BeachFinder links.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude supplied with user consent'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude supplied with user consent'}, 'city': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': 'Destination city; use this instead of coordinates'}, 'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': "Exact beach, activity or professional-service request in the user's language. Preserve narrow needs such as surfboard repair, freediving school, SUP rental, rafting guide, campervan rental, motorhome dealer, van conversion or RV repair."}, 'intent': {'enum': ['general', 'swimming', 'family', 'low-wind', 'warm-water', 'surf', 'accessible', 'amenities'], 'type': 'string', 'default': 'general'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'radiusKm': {'type': 'number', 'default': 50, 'maximum': 150, 'minimum': 1}, 'maxWindKmh': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'minWaterTempC': {'type': 'number', 'maximum': 45, 'minimum': -5}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
search_dive_snorkel_spots
Search dive and snorkel spots
Find mapped diving and snorkeling locations without inferring visibility or safety.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude supplied with user consent'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude supplied with user consent'}, 'city': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': 'Destination city; use this instead of coordinates'}, 'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': "Exact beach, activity or professional-service request in the user's language. Preserve narrow needs such as surfboard repair, freediving school, SUP rental, rafting guide, campervan rental, motorhome dealer, van conversion or RV repair."}, 'intent': {'enum': ['general', 'swimming', 'family', 'low-wind', 'warm-water', 'surf', 'accessible', 'amenities'], 'type': 'string', 'default': 'general'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'radiusKm': {'type': 'number', 'default': 50, 'maximum': 150, 'minimum': 1}, 'maxWindKmh': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'minWaterTempC': {'type': 'number', 'maximum': 45, 'minimum': -5}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
search_guides
Search BeachFinder guides
Find active localized practical, destination and GTA travel guides published by BeachFinder.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude supplied with user consent'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude supplied with user consent'}, 'city': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': 'Destination city; use this instead of coordinates'}, 'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': "Exact beach, activity or professional-service request in the user's language. Preserve narrow needs such as surfboard repair, freediving school, SUP rental, rafting guide, campervan rental, motorhome dealer, van conversion or RV repair."}, 'intent': {'enum': ['general', 'swimming', 'family', 'low-wind', 'warm-water', 'surf', 'accessible', 'amenities'], 'type': 'string', 'default': 'general'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'radiusKm': {'type': 'number', 'default': 50, 'maximum': 150, 'minimum': 1}, 'maxWindKmh': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'minWaterTempC': {'type': 'number', 'maximum': 45, 'minimum': -5}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
search_river_whitewater_spots
Search river and whitewater spots
Find mapped river and whitewater activity locations near a destination.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude supplied with user consent'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude supplied with user consent'}, 'city': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': 'Destination city; use this instead of coordinates'}, 'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': "Exact beach, activity or professional-service request in the user's language. Preserve narrow needs such as surfboard repair, freediving school, SUP rental, rafting guide, campervan rental, motorhome dealer, van conversion or RV repair."}, 'intent': {'enum': ['general', 'swimming', 'family', 'low-wind', 'warm-water', 'surf', 'accessible', 'amenities'], 'type': 'string', 'default': 'general'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'radiusKm': {'type': 'number', 'default': 50, 'maximum': 150, 'minimum': 1}, 'maxWindKmh': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'minWaterTempC': {'type': 'number', 'maximum': 45, 'minimum': -5}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
search_surf_spots
Search surf spots
Find mapped swimming locations with surf or wave relevance and current planning signals when available.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude supplied with user consent'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude supplied with user consent'}, 'city': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': 'Destination city; use this instead of coordinates'}, 'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': "Exact beach, activity or professional-service request in the user's language. Preserve narrow needs such as surfboard repair, freediving school, SUP rental, rafting guide, campervan rental, motorhome dealer, van conversion or RV repair."}, 'intent': {'enum': ['general', 'swimming', 'family', 'low-wind', 'warm-water', 'surf', 'accessible', 'amenities'], 'type': 'string', 'default': 'general'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'radiusKm': {'type': 'number', 'default': 50, 'maximum': 150, 'minimum': 1}, 'maxWindKmh': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'minWaterTempC': {'type': 'number', 'maximum': 45, 'minimum': -5}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
search_swim_spots
Search swimming spots
Find beaches, lakes, bathing places and public swimming locations. Current conditions are fetched only for the highest-ranked results.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude supplied with user consent'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude supplied with user consent'}, 'city': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': 'Destination city; use this instead of coordinates'}, 'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': "Exact beach, activity or professional-service request in the user's language. Preserve narrow needs such as surfboard repair, freediving school, SUP rental, rafting guide, campervan rental, motorhome dealer, van conversion or RV repair."}, 'intent': {'enum': ['general', 'swimming', 'family', 'low-wind', 'warm-water', 'surf', 'accessible', 'amenities'], 'type': 'string', 'default': 'general'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'radiusKm': {'type': 'number', 'default': 50, 'maximum': 150, 'minimum': 1}, 'maxWindKmh': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'minWaterTempC': {'type': 'number', 'maximum': 45, 'minimum': -5}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
search_vanlife_spots
Search vanlife spots
Find published van and camping locations near beaches while withholding direct contact details.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude supplied with user consent'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude supplied with user consent'}, 'city': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': 'Destination city; use this instead of coordinates'}, 'lang': {'enum': ['en', 'fr', 'es', 'de', 'it', 'pt', 'nl', 'ja', 'ko', 'zh', 'ar', 'tr', 'ru', 'id'], 'type': 'string', 'default': 'en'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 90, 'minLength': 1, 'description': "Exact beach, activity or professional-service request in the user's language. Preserve narrow needs such as surfboard repair, freediving school, SUP rental, rafting guide, campervan rental, motorhome dealer, van conversion or RV repair."}, 'intent': {'enum': ['general', 'swimming', 'family', 'low-wind', 'warm-water', 'surf', 'accessible', 'amenities'], 'type': 'string', 'default': 'general'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'radiusKm': {'type': 'number', 'default': 50, 'maximum': 150, 'minimum': 1}, 'maxWindKmh': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'minWaterTempC': {'type': 'number', 'maximum': 45, 'minimum': -5}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'operation', 'query', 'answer', 'updatedAt', 'confidence', 'answerConfidence', 'primaryAnswerId', 'degraded', 'results', 'safetyNotice', 'attribution', 'links'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'links': {'type': 'object', 'required': ['app', 'methodology', 'privacy'], 'properties': {'app': {'type': 'string', 'format': 'uri'}, 'privacy': {'type': 'string', 'format': 'uri'}, 'methodology': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'query': {'type': 'object', 'additionalProperties': {}}, 'answer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entityType', 'verificationStatus', 'name', 'location', 'distanceKm', 'canonicalUrl', 'openUrl', 'downloadAppUrl', 'why', 'stableFacts', 'liveConditions', 'conditionsUpdatedAt', 'sources', 'confidence'], 'properties': {'id': {'type': 'string'}, 'geo': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'additionalProperties': False}, 'why': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'openUrl': {'type': 'string', 'format': 'uri'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'distanceKm': {'type': ['number', 'null']}, 'entityType': {'enum': ['beach', 'swim_spot', 'river_spot', 'van_spot', 'provider', 'guide'], 'type': 'string'}, 'stableFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'value': {}}, 'additionalProperties': False}}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'downloadAppUrl': {'type': 'string', 'format': 'uri'}, 'liveConditions': {'anyOf': [{'type': 'object', 'required': ['updatedAt', 'observedAt', 'fetchedAt', 'expiresAt', 'source', 'timezone', 'freshnessStatus', 'airTemperatureC', 'apparentTemperatureC', 'waterTemperatureC', 'windSpeedKmh', 'windGustKmh', 'uvIndex', 'waveHeightM', 'currentVelocityKmh'], 'properties': {'source': {'type': ['string', 'null']}, 'uvIndex': {'type': ['number', 'null']}, 'timezone': {'type': ['string', 'null']}, 'expiresAt': {'type': ['string', 'null']}, 'fetchedAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'waveHeightM': {'type': ['number', 'null']}, 'windGustKmh': {'type': ['number', 'null']}, 'windSpeedKmh': {'type': ['number', 'null']}, 'airTemperatureC': {'type': ['number', 'null']}, 'freshnessStatus': {'enum': ['LIVE', 'FRESH', 'STALE', 'EXPIRED', 'UNAVAILABLE'], 'type': 'string'}, 'waterTemperatureC': {'type': ['number', 'null']}, 'currentVelocityKmh': {'type': ['number', 'null']}, 'apparentTemperatureC': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'verificationStatus': {'enum': ['owner_verified', 'source_backed', 'mapped'], 'type': 'string'}, 'conditionsUpdatedAt': {'type': ['string', 'null']}, 'primaryAnswerReasons': {'type': 'array', 'items': {'type': 'string'}}, 'entityConfidenceLevel': {'enum': ['VERIFIED', 'HIGH_CONFIDENCE', 'PROBABLE', 'UNVERIFIED', 'REJECTED'], 'type': 'string'}, 'entityConfidenceScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'primaryAnswerEligible': {'type': 'boolean'}}, 'additionalProperties': False}}, 'degraded': {'type': 'boolean'}, 'operation': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'attribution': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'primaryAnswerId': {'type': ['string', 'null']}, 'answerConfidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}, 'additionalProperties': False}
Hinzugefügt
compare_spots
17. September 2026 12:35
Hinzugefügt
get_community_conditions
17. September 2026 12:35
Hinzugefügt
get_spot_conditions
17. September 2026 12:35
Hinzugefügt
get_spot_details
17. September 2026 12:35
Hinzugefügt
search_guides
17. September 2026 12:35
Hinzugefügt
search_activity_providers
17. September 2026 12:35
Hinzugefügt
search_vanlife_spots
17. September 2026 12:35
Hinzugefügt
search_river_whitewater_spots
17. September 2026 12:35
Hinzugefügt
search_dive_snorkel_spots
17. September 2026 12:35
Hinzugefügt
search_surf_spots
17. September 2026 12:35
Hinzugefügt
search_swim_spots
17. September 2026 12:35
Hinzugefügt
search_beaches
17. September 2026 12:35