Skip to main content

URLs & Pagination

Controls how the engine fetches the game listing, navigates pages, and executes searches.


URL templates

urls:
main: /games/ # First page / homepage
page: /games/page/{page}/ # Paginated pages ({page} = page number)
search: /search/?q={query} # Search endpoint ({query} = URL-encoded term)
search_debounce_ms: 400 # Wait this long after last keystroke before firing
search_min_chars: 2 # Don't search until user has typed this many chars
FieldTypeDefaultNotes
mainstringRelative path appended to base_url
pagestring{page} replaced with page number (1-indexed)
searchstring{query} replaced with URL-encoded search term
search_debounce_msinteger300Milliseconds to debounce typing
search_min_charsinteger1Minimum chars before search fires

Path vs full URL

Both relative paths and full URLs work:

urls:
main: /games/ # relative → https://example.com/games/
main: https://cdn.example.com/games/ # absolute → used as-is

Pagination styles

# Page number in path
page: /games/page/{page}/

# Page number as query param
page: /games/?p={page}

Search styles

# Query param
search: /search/?q={query}

# Path segment
search: /search/{query}/

Rate limiting

Prevents hammering the remote server. Always enable this — it keeps your config working long-term.

rate_limit:
enabled: true
min_delay_ms: 600 # Minimum gap between requests (ms)
window_seconds: 10 # Rolling window for burst detection
burst_threshold: 4 # Max requests allowed in the window before throttling
FieldTypeDefaultNotes
enabledboolfalseMust be true to activate
min_delay_msinteger500Floor for inter-request delay
window_secondsinteger10Length of the burst detection window
burst_thresholdinteger5Requests before throttling kicks in
Site typemin_delay_msburst_threshold
Small / independent1000–15003
Medium site600–8004
Large / CDN-backed300–5006
# Polite defaults for an independent site
rate_limit:
enabled: true
min_delay_ms: 1000
window_seconds: 10
burst_threshold: 3