Page through Streamforge API results with cursor tokens. Learn how to choose page sizes, follow next_cursor, resume processing, and handle pagination errors.
The Streamforge External API uses cursor-based pagination for all list endpoints. This approach provides stable, efficient pagination that avoids duplicates when data changes between requests.
Unlike offset-based pagination (e.g., page=1, page=2), cursor pagination uses opaque tokens that point to a specific position in the dataset. This means:
Stable results: New items added to the beginning won’t cause duplicates
Efficient: No need to skip through large offsets
Consistent: Results remain consistent even as data updates
The limit parameter controls how many items are returned per page:
Minimum: 1 item
Maximum: 25 items. A larger limit is lowered to 25
Default: 10 items for profile and content lists, 20 for game content, 25 for brands and industries
Credit cost: Each page is one call, charged once whatever its limit: 0.01 credit for profile, content, game content and brand lists, 0.1 credit for industry pages
The following endpoints support cursor-based pagination:
GET /platforms/{platform}/profiles - Browse profiles
GET /platforms/{platform}/content - List all content
GET /platforms/{platform}/profiles/{profile_id}/content - List content by creator
GET /platforms/{platform}/games/{game_id}/content - List content for a game
GET /brands - List brands by sponsorship activity
GET /industries - List industries (36 in all, two pages at the default limit)
GET /industries/{industry_id} - An industry’s brand ranking. Keep the same sort on every page; ranks continue across pages, so the second page starts at rank 26
# First requestcurl -H "x-api-key: YOUR_KEY" \ "https://external-api.streamforge.com/platforms/twitch/content?limit=25"# Response includes next_cursor# Use it in the next requestcurl -H "x-api-key: YOUR_KEY" \ "https://external-api.streamforge.com/platforms/twitch/content?limit=25&cursor=eyJpZCI6Ijk4NzY1NDMyMSIsImVuZGVkX2F0IjoiMjAyNC0wNy0wNFQxMTozMDowMC4wMDBaIn0="
Don’t use offset-based pagination patterns. The API doesn’t support page or offset parameters.
Assuming page numbers: There are no page numbers; only cursors
Reusing old cursors: While stable, very old cursors may not reflect current data
Ignoring null cursors: Always check for null to avoid infinite loops
Not handling empty results: An empty payload array with a null cursor means no results
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Streamforge External API","colors":{"primary":"#ff4d00","light":"#ff7040","dark":"#cc3d00"},"logo":{"light":"https://mintcdn.com/streamforge/92gzaKf7zSIx1oHx/logo/light.png?fit=max\u0026auto=format\u0026n=92gzaKf7zSIx1oHx\u0026q=85\u0026s=6ef0131b14f59dee096a20cfe15c7ff7","dark":"https://mintcdn.com/streamforge/92gzaKf7zSIx1oHx/logo/dark.png?fit=max\u0026auto=format\u0026n=92gzaKf7zSIx1oHx\u0026q=85\u0026s=9f543b71ce3fffd2a8ccc3977342b6af"},"favicon":"https://mintcdn.com/streamforge/92gzaKf7zSIx1oHx/favicon.png?fit=max\u0026auto=format\u0026n=92gzaKf7zSIx1oHx\u0026q=85\u0026s=c5f5a7586820296a9559f3467c48525f","api":{"openapi":"api-reference/openapi.yaml"},"navbar":{"links":[{"href":"mailto:support@streamforge.com","label":"Support"}],"primary":{"type":"button","label":"Get your API Key","href":"https://streamforge.com/lets-talk"}},"footer":{"socials":{"x":"https://x.com/streamforge","github":"https://github.com/streamforgegg","linkedin":"https://linkedin.com/company/streamforge"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"streamforge","hasAudioNarration":false,"actualSubdomain":"streamforge","customDomains":["docs.streamforge.com"],"gitSource":{"type":"github","owner":"streamforgegg","repo":"external-api","deployBranch":"master","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":false},"entitlements":{},"buildId":"6ae2467ded09ff4da88a4b6c","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API reference","count":28},{"language":"default","tag":"Guides","count":13},{"language":"default","tag":"Content","count":5},{"language":"default","tag":"Profiles","count":5},{"language":"default","tag":"Advanced","count":4},{"language":"default","tag":"Core concepts","count":4},{"language":"default","tag":"Workflows","count":4},{"language":"default","tag":"Brands","count":3},{"language":"default","tag":"Games","count":3},{"language":"default","tag":"Rates","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"[data-theme=\"dark\"],html[data-theme=\"dark\"],html.dark,.dark,[data-theme=\"dark\"] body,html[data-theme=\"dark\"] body,body[data-theme=\"dark\"],body.dark{--mint-bg-primary: #1a1a1a !important;--mint-bg-secondary: #252525 !important;--mint-bg-tertiary: #2d2d2d !important}html[data-theme=\"dark\"] body,body[data-theme=\"dark\"],[data-theme=\"dark\"] body,html.dark body,body.dark{background:linear-gradient(to bottom, #0f0f0f, #1a1a1a)!important;background-attachment:fixed!important;min-height:100vh!important}[data-theme=\"dark\"] aside,[data-theme=\"dark\"] nav{background-color:#1e1e1e;border-color:#2d2d2d}[data-theme=\"dark\"] .card,[data-theme=\"dark\"] [class*=\"card\"]{background-color:#252525;border-color:#2d2d2d}[data-theme=\"dark\"] pre,[data-theme=\"dark\"] code{background-color:#1e1e1e;border-color:#2d2d2d}[data-theme=\"dark\"] a,[data-theme=\"dark\"] [class*=\"link\"],html[data-theme=\"dark\"] a{color:#ff4d00!important}[data-theme=\"dark\"] a:hover,[data-theme=\"dark\"] [class*=\"link\"]:hover,html[data-theme=\"dark\"] a:hover{color:#ff7040!important}[data-theme=\"dark\"] button[class*=\"primary\"],[data-theme=\"dark\"] [class*=\"button-primary\"]{background-color:#ff4d00;color:#ffffff}[data-theme=\"dark\"] button[class*=\"primary\"]:hover,[data-theme=\"dark\"] [class*=\"button-primary\"]:hover{background-color:#ff7040}[data-theme=\"dark\"] [aria-current=\"page\"],[data-theme=\"dark\"] [class*=\"active\"]{color:#ff4d00}[data-theme=\"dark\"] *:focus-visible{outline-color:#ff4d00}[data-theme=\"dark\"] table{background-color:#252525;border-color:#2d2d2d}[data-theme=\"dark\"] table th{background-color:#1e1e1e;border-color:#2d2d2d}[data-theme=\"dark\"] table td{border-color:#2d2d2d}[data-theme=\"dark\"] [class*=\"api-reference\"],[data-theme=\"dark\"] [class*=\"endpoint\"]{background-color:#252525;border-color:#2d2d2d}[data-theme=\"dark\"]{color-scheme:dark}select,.dropdown{background-color:var(--background-color);color:var(--text-color);border:1px solid var(--border-color)}@media (prefers-color-scheme: dark){select,.dropdown{background-color:#1a1a1a;color:#ffffff;border-color:#404040}}"}],"page":{"pagePath":"guides/pagination","slug":"/guides/pagination","pageMetadata":{"title":"Pagination \u0026 Cursors","description":"Page through Streamforge API results with cursor tokens. Learn how to choose page sizes, follow next_cursor, resume processing, and handle pagination errors.","icon":"arrow-right-arrow-left","href":"/guides/pagination"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Page through Streamforge API results with cursor tokens. Learn how to choose page sizes, follow next_cursor, resume processing, and handle pagination errors.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The Streamforge External API uses `,_jsx(_components.strong,{children:`cursor-based pagination`}),` for all list endpoints. This approach provides stable, efficient pagination that avoids duplicates when data changes between requests.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-cursor-pagination-works`,children:`How Cursor Pagination Works`}),`\n`,_jsxs(_components.p,{children:[`Unlike offset-based pagination (e.g., `,_jsx(_components.code,{children:`page=1`}),`, `,_jsx(_components.code,{children:`page=2`}),`), cursor pagination uses opaque tokens that point to a specific position in the dataset. This means:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Stable results`}),`: New items added to the beginning won’t cause duplicates`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Efficient`}),`: No need to skip through large offsets`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Consistent`}),`: Results remain consistent even as data updates`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`using-cursors`,children:`Using Cursors`}),`\n`,_jsxs(_components.p,{children:[`All list endpoints return a `,_jsx(_components.code,{children:`next_cursor`}),` in `,_jsx(_components.code,{children:`paging`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"payload\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"paging\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`10`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"next_cursor\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"eyJpZCI6Ijk4NzY1NDMyMSIsImVuZGVkX2F0IjoiMjAyNC0wNy0wNFQxMTozMDowMC4wMDBaIn0=\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"meta\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`basic-pagination-pattern`,children:`Basic Pagination Pattern`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetchAllContent`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`platform`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`profileId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` cursor`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` allContent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [];`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` do`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `/platforms/\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`platform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/profiles/`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`profileId`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/content?limit=25`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`cursor`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ?`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `\u0026cursor=\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`cursor`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"`\"}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ''`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`url`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` headers:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'x-api-key'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'YOUR_API_KEY'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` allContent`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`push`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`payload`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` cursor`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`paging`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`next_cursor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`while`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`cursor`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !==`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` allContent`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`choosing-a-limit`,children:`Choosing a Limit`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`limit`}),` parameter controls how many items are returned per page:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Minimum`}),`: 1 item`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Maximum`}),`: 25 items. A larger `,_jsx(_components.code,{children:`limit`}),` is lowered to 25`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Default`}),`: 10 items for profile and content lists, 20 for game content, 25 for brands and industries`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Credit cost`}),`: Each page is one call, charged once whatever its `,_jsx(_components.code,{children:`limit`}),`: 0.01 credit for profile, content, game content and brand lists, 0.1 credit for industry pages`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`limit-selection-guidelines`,children:`Limit Selection Guidelines`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Whole lists`}),`: Use `,_jsx(_components.code,{children:`limit=25`}),`. A page costs the same at any size, so full pages make the fewest calls`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Real-time updates`}),`: Use smaller limits to detect new items faster`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`cursor-stability`,children:`Cursor Stability`}),`\n`,_jsxs(_components.p,{children:[`Cursors are `,_jsx(_components.strong,{children:`stable tokens`}),` that remain valid even as new data arrives. However:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Cursors don’t expire, but they may become less efficient over time`}),`\n`,_jsx(_components.li,{children:`If you pause pagination for days/weeks, consider restarting from the beginning`}),`\n`,_jsx(_components.li,{children:`Cursors encode the sort position, so changing sort order requires a new cursor`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`endpoints-with-pagination`,children:`Endpoints with Pagination`}),`\n`,_jsx(_components.p,{children:`The following endpoints support cursor-based pagination:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`GET /platforms/{platform}/profiles`}),` - Browse profiles`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`GET /platforms/{platform}/content`}),` - List all content`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`GET /platforms/{platform}/profiles/{profile_id}/content`}),` - List content by creator`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`GET /platforms/{platform}/games/{game_id}/content`}),` - List content for a game`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`GET /brands`}),` - List brands by sponsorship activity`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`GET /industries`}),` - List industries (36 in all, two pages at the default `,_jsx(_components.code,{children:`limit`}),`)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`GET /industries/{industry_id}`}),` - An industry’s brand ranking. Keep the same `,_jsx(_components.code,{children:`sort`}),` on every page; ranks continue across pages, so the second page starts at rank 26`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best Practices`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Always check if `,_jsx(_components.code,{children:`next_cursor`}),` is `,_jsx(_components.code,{children:`null`}),` before making another request. A `,_jsx(_components.code,{children:`null`}),` cursor means you’ve reached the end of the results.`]})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Respect rate limits`}),`: Don’t paginate too aggressively; monitor your quota usage`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Handle errors`}),`: Implement retry logic for failed pagination requests`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Store cursors`}),`: If resuming pagination, store the last cursor to avoid re-fetching data`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Batch processing`}),`: For large datasets, process items in batches rather than loading everything into memory`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`example-paginating-content`,children:`Example: Paginating Content`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# First request`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: YOUR_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://external-api.streamforge.com/platforms/twitch/content?limit=25\"`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Response includes next_cursor`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Use it in the next request`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: YOUR_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://external-api.streamforge.com/platforms/twitch/content?limit=25\u0026cursor=eyJpZCI6Ijk4NzY1NDMyMSIsImVuZGVkX2F0IjoiMjAyNC0wNy0wNFQxMTozMDowMC4wMDBaIn0=\"`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`common-pitfalls`,children:`Common Pitfalls`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Don’t use offset-based pagination patterns. The API doesn’t support `,_jsx(_components.code,{children:`page`}),` or `,_jsx(_components.code,{children:`offset`}),` parameters.`]})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Assuming page numbers`}),`: There are no page numbers; only cursors`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reusing old cursors`}),`: While stable, very old cursors may not reflect current data`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Ignoring null cursors`}),`: Always check for `,_jsx(_components.code,{children:`null`}),` to avoid infinite loops`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Not handling empty results`}),`: An empty `,_jsx(_components.code,{children:`payload`}),` array with a `,_jsx(_components.code,{children:`null`}),` cursor means no results`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Pagination \u0026 Cursors","description":"Page through Streamforge API results with cursor tokens. Learn how to choose page sizes, follow next_cursor, resume processing, and handle pagination errors.","icon":"arrow-right-arrow-left","href":"/guides/pagination"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How Cursor Pagination Works","slug":"how-cursor-pagination-works","depth":2,"children":[]},{"title":"Using Cursors","slug":"using-cursors","depth":2,"children":[{"title":"Basic Pagination Pattern","slug":"basic-pagination-pattern","depth":3,"children":[]}]},{"title":"Choosing a Limit","slug":"choosing-a-limit","depth":2,"children":[{"title":"Limit Selection Guidelines","slug":"limit-selection-guidelines","depth":3,"children":[]}]},{"title":"Cursor Stability","slug":"cursor-stability","depth":2,"children":[]},{"title":"Endpoints with Pagination","slug":"endpoints-with-pagination","depth":2,"children":[]},{"title":"Best Practices","slug":"best-practices","depth":2,"children":[]},{"title":"Example: Paginating Content","slug":"example-paginating-content","depth":2,"children":[]},{"title":"Common Pitfalls","slug":"common-pitfalls","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/streamforge/b9619aa82fce8869/logo/resize.js"],"subdomain":"streamforge","siteName":"Streamforge External API","title":"Pagination \u0026 Cursors - Streamforge External API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T19:01:27.177Z","originalFileLocation":"guides/pagination.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Page through Streamforge API results with cursor tokens. Learn how to choose page sizes, follow next_cursor, resume processing, and handle pagination errors.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Streamforge External API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Pagination \u0026amp; Cursors - Streamforge External API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Page through Streamforge API results with cursor tokens. Learn how to choose page sizes, follow next_cursor, resume processing, and handle pagination errors.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Streamforge External API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.streamforge.com/guides/pagination\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://streamforge.mintlify.site/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Pagination+%26+Cursors\u0026amp;description=Page+through+Streamforge+API+results+with+cursor+tokens.+Learn+how+to+choose+page+sizes%2C+follow+next_cursor%2C+resume+processing%2C+and+handle+pagination+errors.\u0026amp;theme=a3cf01864a7d3198c4e4989d\u0026amp;signature=d0e9e8bcc7cd9b042c6c8c3ad9c07ca5c34f7b60ab78c0d72fc9c68d4689f78e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Pagination \u0026amp; Cursors - Streamforge External API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Page through Streamforge API results with cursor tokens. Learn how to choose page sizes, follow next_cursor, resume processing, and handle pagination errors.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://streamforge.mintlify.site/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Pagination+%26+Cursors\u0026amp;description=Page+through+Streamforge+API+results+with+cursor+tokens.+Learn+how+to+choose+page+sizes%2C+follow+next_cursor%2C+resume+processing%2C+and+handle+pagination+errors.\u0026amp;theme=a3cf01864a7d3198c4e4989d\u0026amp;signature=d0e9e8bcc7cd9b042c6c8c3ad9c07ca5c34f7b60ab78c0d72fc9c68d4689f78e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/streamforge/nL17XFPY4P_XF96p/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Streamforge External API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff4d00\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.streamforge.com/guides/pagination\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/pagination.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.streamforge.com/#organization\",\"name\":\"Streamforge External API\",\"url\":\"https://docs.streamforge.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/streamforge/92gzaKf7zSIx1oHx/logo/light.png?fit=max\u0026auto=format\u0026n=92gzaKf7zSIx1oHx\u0026q=85\u0026s=6ef0131b14f59dee096a20cfe15c7ff7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.streamforge.com#website\",\"name\":\"Streamforge External API\",\"url\":\"https://docs.streamforge.com\",\"publisher\":{\"@id\":\"https://docs.streamforge.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.streamforge.com/guides/pagination#webpage\",\"url\":\"https://docs.streamforge.com/guides/pagination\",\"name\":\"Pagination \u0026 Cursors\",\"description\":\"Page through Streamforge API results with cursor tokens. Learn how to choose page sizes, follow next_cursor, resume processing, and handle pagination errors.\",\"dateModified\":\"2026-10-28T19:01:27.177Z\",\"isPartOf\":{\"@id\":\"https://docs.streamforge.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.streamforge.com/guides/pagination#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.streamforge.com/guides/pagination#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Streamforge External API\",\"item\":\"https://docs.streamforge.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pagination \u0026 Cursors\",\"item\":\"https://docs.streamforge.com/guides/pagination\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.streamforge.com/guides/pagination#article\",\"headline\":\"Pagination \u0026 Cursors\",\"name\":\"Pagination \u0026 Cursors\",\"description\":\"Page through Streamforge API results with cursor tokens. Learn how to choose page sizes, follow next_cursor, resume processing, and handle pagination errors.\",\"url\":\"https://docs.streamforge.com/guides/pagination\",\"mainEntityOfPage\":{\"@id\":\"https://docs.streamforge.com/guides/pagination#webpage\"},\"dateModified\":\"2026-10-28T19:01:27.177Z\",\"publisher\":{\"@id\":\"https://docs.streamforge.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.streamforge.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Streamforge External API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Streamforge External API","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Guides","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":""},{"title":"Authentication \u0026 Rate Limits","description":"Authenticate Streamforge API requests with an API key, read rate-limit headers, handle throttling, and learn how to rotate or revoke access for integrations.","href":"/essentials/authentication"}]},{"group":"Core concepts","pages":[{"title":"Pagination \u0026 Cursors","icon":"arrow-right-arrow-left","href":"/guides/pagination"},{"title":"Bulk Operations","description":"Fetch multiple profiles, content items, or games with Streamforge API bulk requests. Learn request formats, batching, credit costs, and handling missing IDs.","icon":"layer-group","href":"/guides/bulk-operations"},{"title":"Error Handling","icon":"triangle-exclamation","href":"/guides/error-handling"},{"title":"Platform Identifiers","icon":"fingerprint","href":"/guides/platform-identifiers"}]},{"group":"Workflows","pages":[{"title":"Creator Discovery Workflow","icon":"user-group","href":"/guides/creator-discovery"},{"title":"Requesting a Creator","icon":"hourglass-half","href":"/guides/creator-requests"},{"title":"Content Analysis","icon":"chart-line","href":"/guides/content-analysis"},{"title":"Game Data \u0026 Content","icon":"gamepad","href":"/guides/game-data"}]},{"group":"Advanced topics","pages":[{"title":"Advanced Insights","icon":"brain","href":"/guides/advanced-insights"},{"title":"Credit Management","icon":"gauge","href":"/guides/credit-management"},{"title":"Data Freshness","icon":"clock","href":"/guides/data-freshness"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/health/health-check"}]}]},"basePath":"","title":"Pagination \u0026 Cursors - Streamforge External API","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}