Skip to content
scrapeatlas.Dashboard

Get user schedule

Try in Playground

Retrieve the current calendar week, Monday 00:00 UTC through the next Monday. Includes schedule segments, cancellation metadata, interruption, next segment, current stream and this week’s recent broadcasts.

GET/v1/twitch/user/schedulex-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
1
handlestringrequiredquery

Required Twitch login, 1–25 letters, digits or underscores. Normalized to lowercase.

Exampleexample
Response fields
67
idstring

Always included.

min 1 chars

primaryColorHexstringnullable

Always included.

Source last-broadcast metadata or null.

lastBroadcast.idstring

Always included.

min 1 chars

lastBroadcast.startedAtstring

Always included.

lastBroadcast.__typenamestring

Always included.

Published channel broadcast title and ID.

broadcastSettings.idstring

Always included.

min 1 chars

broadcastSettings.titlestring

Always included.

broadcastSettings.__typenamestring

Always included.

streamJSON

Live metadata including both preview orientations, dimensions and game, or null.

Up to 30 archive videos within the current UTC week, preserving edges and source type names.

Always included.

up to 30 items

Always included.

videos.edges.node.idstring

Always included.

min 1 chars

videos.edges.node.titlestring

Always included.

videos.edges.node.createdAtstring

Always included.

videos.edges.node.lengthSecondsinteger

Always included.

≥ 0

videos.edges.node.viewCountinteger

Always included.

≥ 0

videos.edges.node.previewThumbnailURLstring

Always included.

Always included.

videos.edges.node.game.idstring

Always included.

min 1 chars

videos.edges.node.game.slugstring

Always included.

videos.edges.node.game.namestring

Always included.

videos.edges.node.game.__typenamestring

Always included.

videos.edges.node.__typenamestring

Always included.

Source channel ID and schedule, including segments, nextSegment and interruption. Schedule can be null.

channel.idstring

Always included.

min 1 chars

Always included.

channel.schedule.idstring

Always included.

min 1 chars

Always included.

channel.schedule.nextSegment.idstring

Always included.

min 1 chars

channel.schedule.nextSegment.startAtstring

Always included.

channel.schedule.nextSegment.__typenamestring

Always included.

channel.schedule.interruptionJSON

Always included.

Always included.

up to 100 items

channel.schedule.segments.idstring

Always included.

min 1 chars

channel.schedule.segments.baseSegmentIDstring

Always included.

min 1 chars

channel.schedule.segments.titlestring

Always included.

channel.schedule.segments.startAtstring

Always included.

channel.schedule.segments.endAtstring

Always included.

channel.schedule.segments.isCancelledboolean

Always included.

channel.schedule.segments.cancelledUntilstringnullable

Always included.

channel.schedule.segments.hasReminderboolean

Always included.

channel.schedule.segments.repeatEndsAfterCountintegernullable

Always included.

Always included.

up to 100 items

channel.schedule.segments.categories.idstring

Always included.

min 1 chars

channel.schedule.segments.categories.slugstring

Always included.

channel.schedule.segments.categories.namestring

Always included.

channel.schedule.segments.categories.__typenamestring

Always included.

channel.schedule.segments.__typenamestring

Always included.

channel.schedule.__typenamestring

Always included.

channel.__typenamestring

Always included.

__typenamestring

Always included.

requestIdstring

Operation identifier for correlation.

HTTP attempts initiated by this operation, decoded response bytes and elapsed milliseconds. A shared client bootstrap is counted by its initiating operation.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when the primary requested data is usable.

statusenum

success, partial, failed or challenged. Inspect coverage on HTTP 200.

one of: success, partial

sourceUrlstring

Canonical public Twitch page URL.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Public GraphQL coverage. Clip auxiliary query errors produce partial with auxiliary_graphql_error; missing required primary fields fail.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

up to 2 items

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
12
HTTPfailure.codeMeaning
200partialPrimary clip data is usable but a related-clips or viewer GraphQL query returned source errors.
400invalid_requestMissing or unsafe input, unknown parameters, invalid filter/sort, or duplicate parameters.
401unauthorizedMissing or invalid dedicated worker API key.
403restricted_pageUnpublished clip, denied or expired playback token, or unexpected authenticated viewer.
404not_foundThe requested channel, video or clip is missing, or the route is unknown.
429upstream_rate_limitedTwitch rate limited retrieval.
502upstream_challenged public_client_unavailableTwitch challenged the request or its public client identifier could not be determined.
502upstream_graphql_error unsupported_pagePrimary query failure or incomplete, unexpected or mismatched data.
502response_too_large payload_too_complexByte, depth or JSON node limit exceeded.
502unsafe_redirect request_limit upstream_errorBounded transport could not complete.
503busyAll worker admission slots are occupied.
504timeoutThe total request deadline expired.