/v1/twitch/profile
Profile
Get Twitch profile
| Credit cost | Default: 1 credit How charges are determinedCost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns. A call that fails costs 0 credits. A result served from cache costs 0 credits. `default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins. A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true). A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute. |
|---|---|
| Cache support | Use a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price. |
| Pagination | No explicit pagination metadata in the published contract. Consult the parameters and response fields below. |
Parameters
| Name | Location / required | Schema |
|---|---|---|
handleTwitch handle | query / required |
|
cache_max_ageUse a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price. | query / optional |
Allowed values |
Request examples
Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.
cURL
curl --request GET 'https://api.fetchproof.com/v1/twitch/profile?handle=YOUR_HANDLE' \
--header 'x-api-key: YOUR_API_KEY'JavaScript
const response = await fetch("https://api.fetchproof.com/v1/twitch/profile?handle=YOUR_HANDLE", {
method: 'GET',
headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());Python
import os
import requests
response = requests.get("https://api.fetchproof.com/v1/twitch/profile?handle=YOUR_HANDLE",
headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)Responses
200Success. Envelope: success / credits_remaining / credits_charged.
application/json
object
successrequired
boolean
credits_remainingrequired
integer
credits_chargedrequired
integer
idrequired
string
isLiverequired
boolean
currentViewersCountrequired
integer
lastBroadcastrequired
object
startedAtrequired
string
{
"format": "date-time"
}titlerequired
string
handlerequired
string
streamrequired
object
idoptional
string
createdAtoptional
string
{
"format": "date-time"
}gameoptional
object
idrequired
string
displayNamerequired
string
__typenamerequired
string
typeoptional
string
viewersCountoptional
integer
__typenameoptional
string
tagsoptional
array
Array items
object
idrequired
string
namerequired
string
__typenamerequired
string
displayNamerequired
string
profileImageURLrequired
string
bannerImageURLrequired
string
descriptionrequired
string
followersrequired
integer
isPartnerrequired
boolean
recentBroadcastsoptional
array
Array items
object
idrequired
string
titlerequired
string
previewThumbnailURLrequired
string
publishedAtrequired
string
{
"format": "date-time"
}viewCountrequired
integer
lengthSecondsrequired
integer
animatedPreviewURLrequired
string
resourceRestrictionrequired
null
contentTagsrequired
array
selfrequired
object
isRestrictedrequired
boolean
viewingHistoryrequired
null
__typenamerequired
string
gamerequired
object
idrequired
string
slugrequired
string
boxArtURLrequired
string
displayNamerequired
string
namerequired
string
__typenamerequired
string
ownerrequired
object
idrequired
string
displayNamerequired
string
loginrequired
string
profileImageURLrequired
string
primaryColorHexrequired
string
__typenamerequired
string
__typenamerequired
string
allVideosrequired
array
Array items
object
animatedPreviewURLrequired
string
gamerequired
object
boxArtURLrequired
string
idrequired
string
slugrequired
string
displayNamerequired
string
namerequired
string
__typenamerequired
string
idrequired
string
lengthSecondsrequired
integer
ownerrequired
object
displayNamerequired
string
idrequired
string
loginrequired
string
profileImageURLrequired
string
primaryColorHexrequired
string
rolesrequired
object
isPartnerrequired
boolean
__typenamerequired
string
__typenamerequired
string
previewThumbnailURLrequired
string
publishedAtrequired
string
{
"format": "date-time"
}selfrequired
object
isRestrictedrequired
boolean
viewingHistoryrequired
null
__typenamerequired
string
titlerequired
string
viewCountrequired
integer
resourceRestrictionrequired
null
contentTagsrequired
array
__typenamerequired
string
similarStreamersrequired
array
Array items
object
idrequired
string
displayNamerequired
string
loginrequired
string
primaryColorHexrequired
string
profileImageURLrequired
string
streamrequired
null
__typenamerequired
string
cachedoptional
boolean
cached_atoptional
string
{
"format": "date-time"
}featuredClipsoptional
array
Array items
object
idrequired
string
slugrequired
string
clipTitlerequired
string
clipViewCountrequired
integer
curatorrequired
object
idrequired
string
loginrequired
string
displayNamerequired
string
__typenamerequired
string
clipGamerequired
object
idrequired
string
slugrequired
string
namerequired
string
displayNamerequired
string
boxArtURLrequired
string
__typenamerequired
string
broadcasterrequired
object
idrequired
string
loginrequired
string
displayNamerequired
string
profileImageURLrequired
string
primaryColorHexrequired
string
rolesrequired
object
isPartnerrequired
boolean
__typenamerequired
string
__typenamerequired
string
thumbnailURLrequired
string
createdAtrequired
string
{
"format": "date-time"
}durationSecondsrequired
integer
isFeaturedrequired
boolean
guestStarParticipantsrequired
object
hostrequired
object
idrequired
string
loginrequired
string
displayNamerequired
string
profileImageURLrequired
string
primaryColorHexrequired
string
descriptionrequired
string
__typenamerequired
string
guestsrequired
array
sessionIdentifierrequired
string
__typenamerequired
string
__typenamerequired
string