Integrate AI-powered golf content search into your application.
Request an API key from the Get Started page or contact info@allgolfshots.com.
curl -X GET "https://api.allgolfshots.com/api/search?q=wind+adjustment" \
-H "X-API-Key: sk_your_api_key_here"Base URL
https://api.allgolfshots.comAuthentication
X-API-Key headerSearch across golf video content using natural language queries. Returns timestamped video segments ranked by relevance.
| Parameter | Type | Description |
|---|---|---|
| q | string | Search query in natural language *required |
| limit | number | Max results to return (default: 10) |
| threshold | number | Min relevance score 0-1 (default: 0.4) |
| kb_type | string | Filter by knowledge base (e.g. "decade") |
| max_per_video | number | Limit results per video for diversity |
GET /api/search?q=putting+techniqueGET /api/search?q=driver+distance&threshold=0.7&limit=5GET /api/search?q=bunker+shots&max_per_video=1&limit=10GET /api/search?q=course+management&kb_type=decadeAccess full video transcripts with timestamped segments. Available in JSON, SRT, and WebVTT formats.
List all videos accessible to your API key, with transcript segment counts.
| Parameter | Type | Description |
|---|---|---|
| page | number | Page number (default: 1) |
| per_page | number | Results per page, max 100 (default: 25) |
| kb_type | string | Filter by knowledge base (e.g. "decade") |
Get the full transcript for a specific video. All segments are ordered by timestamp.
| Parameter | Type | Description |
|---|---|---|
| format | string | Response format: json (default), srt, or vtt |
{
"video": {
"id": 42,
"title": "Short Game Mastery",
"url": "https://...",
"kb_type": "decade",
"duration_seconds": 1200,
"channel": "Decade Golf"
},
"segments": [
{
"id": "uuid",
"timestamp": 0,
"text": "Today we're going to talk about...",
"metadata": {}
},
{
"id": "uuid",
"timestamp": 30,
"text": "The key to a good chip shot is...",
"metadata": {}
}
],
"segment_count": 47
}curl -X GET "https://api.allgolfshots.com/api/v1/transcripts/videos?kb_type=decade" \
-H "X-API-Key: sk_your_api_key_here"curl -X GET "https://api.allgolfshots.com/api/v1/transcripts/videos/42" \
-H "X-API-Key: sk_your_api_key_here"curl -X GET "https://api.allgolfshots.com/api/v1/transcripts/videos/42?format=srt" \
-H "X-API-Key: sk_your_api_key_here" -o transcript.srtcurl -X GET "https://api.allgolfshots.com/api/v1/transcripts/videos/42?format=vtt" \
-H "X-API-Key: sk_your_api_key_here" -o transcript.vttconst response = await fetch(
'https://api.allgolfshots.com/api/search?q=putting+tips',
{ headers: { 'X-API-Key': 'sk_your_api_key_here' } }
);
const data = await response.json();
console.log(data.results);import requests
response = requests.get(
'https://api.allgolfshots.com/api/search',
params={'q': 'driver distance'},
headers={'X-API-Key': 'sk_your_api_key_here'}
)
results = response.json()import requests
API_KEY = 'sk_your_api_key_here'
BASE = 'https://api.allgolfshots.com/api/v1/transcripts'
headers = {'X-API-Key': API_KEY}
# List all videos
videos = requests.get(f'{BASE}/videos', headers=headers).json()
# Download each transcript
for video in videos['videos']:
transcript = requests.get(
f'{BASE}/videos/{video["id"]}',
headers=headers
).json()
print(f'{video["title"]}: {transcript["segment_count"]} segments')Reach out to our team for integration support or custom requirements.
Contact Support