Skip to main content
Epic Games endpoints accept one account identifier and return focused account intelligence. POST /search is validation-only: it normalizes the identifier type and does not call Epic or consume credits.
{
  "value": "some-player",
  "type": "epic_display_name"
}

Search types

Canonical types:
  • epic_display_name
  • epic_account_id
  • creator_code
  • psn_username
  • steam_username
  • xbox_username
  • psn_account_id
  • steam_id
  • nintendo_account_id
Accepted aliases include epic, epic_id, creator, psn, playstation, steam, steamid, xbox, xbl, xlb, and nintendo.

Endpoint groups

OperationEndpointCostNotes
SearchPOST /tools/epic-games/searchFreeValidates and normalizes only.
SuggestionsPOST /tools/epic-games/suggestionsFreeCached autocomplete for supported username types.
ResolvePOST /tools/epic-games/resolve1Resolves the identifier to Epic account data.
Linked AccountsPOST /tools/epic-games/linked-accounts1Linked platform auths.
TagsPOST /tools/epic-games/tags1Account tag metadata.
RegionsPOST /tools/epic-games/regions1Region and language signals.
Friends AchievementsPOST /tools/epic-games/friends-achievements2Friends, achievements, and social counters.
CreatorPOST /tools/epic-games/creator1Affiliate and creator islands.
Profile DBPOST /tools/epic-games/profile-db1PennyDB profile metadata.
AllPOST /tools/epic-games/all3Runs the main collectors and charges once.

Fast path

Validate an input before launching enrichment.
curl -X POST "https://api.osint.ly/tools/epic-games/search" \
  -H "Authorization: Bearer $OSINTLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "value": "some-player", "type": "xbox" }'
Use /all when you need a complete account profile.
curl -X POST "https://api.osint.ly/tools/epic-games/all" \
  -H "Authorization: Bearer $OSINTLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "value": "some-player", "type": "epic_display_name" }'

Availability

Provider-backed routes require Epic provider authentication configured server-side. If the resolver cannot identify an account, the API returns 404 NOT_FOUND. Upstream provider failures can return 502 PROVIDER_ERROR or 504 PROVIDER_TIMEOUT; missing provider configuration returns 503 PROVIDER_UNAVAILABLE. Paid routes can also return 429 RATE_LIMIT_EXCEEDED when the account has insufficient core-search quota. In /all, secondary collector failures are returned in data.partialErrors.

Caching

Provider responses are cached by collector and normalized identifier. The cache reduces repeated provider calls but does not change user-facing route pricing.