Skip to content
scrapeatlas.Dashboard

Pull request

Try in Playground

Retrieve a pull request’s details, changed files, reviews, inline review comments or commits with section=details, files, reviews, comments or commits. Each list has its own pagination.

GET/v1/github/pull-requestx-api-key
x-api-keystringrequiredheader

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

Query parameters
6
urlstringrequiredquery

Canonical pull-request URL: https://github.com/owner/repository/pull/number.

max 2048 chars

Examplehttps://github.com/example/repo/pull/1
cursorstringquery

One-based page cursor; activity cursors step backward by month.

pagestringquery

Native one-based API page, alternative to cursor.

limitstringquery

Page size 1–100, alternative to per_page.

per_pagestringquery

Native page size 1–100.

sectionenumquery

Selected section; pagination applies to list sections.

one of: details, files, reviews, comments, commits

Response fields
126
platformstringoptional

Optional.

endpointstringoptional

Optional.

successboolean

Whether retrieval returned usable data.

statusenum

success, partial, failed or challenged.

one of: success, partial

requestIdstring

Request correlation UUID.

sourceUrlstring

Public source URL.

absolute HTTPS URL

fetchedAtstring

UTC fetch time.

Completeness of this bounded response, not complete account enumeration.

coverage.sourceenum

Always included.

one of: public_api, public_html

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

Combined upstream attempts, decoded bytes and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

Route-specific compatibility payload. See endpoint description and research coverage notes.

data.idinteger

Always included.

≥ 0

data.node_idstring

Always included.

data.numberinteger

Always included.

≥ 0

data.html_urlstring

Always included.

absolute HTTPS URL

data.titlestring

Always included.

data.bodystringnullable

Always included.

data.stateenum

Always included.

one of: open, closed

data.draftboolean

Always included.

data.mergedboolean

Always included.

data.merged_atstringnullable

Always included.

data.merge_commit_shastringnullable

Always included.

data.mergeablebooleannullable

Always included.

data.mergeable_statestring

Always included.

data.rebaseablebooleannullableoptional

Optional.

Always included.

data.merged_by.idinteger

Always included.

≥ 0

data.merged_by.loginstring

Always included.

data.merged_by.node_idstring

Always included.

data.merged_by.avatar_urlstring

Always included.

absolute HTTPS URL

data.merged_by.html_urlstring

Always included.

absolute HTTPS URL

data.merged_by.typestring

Always included.

data.merged_by.site_adminboolean

Always included.

Always included.

data.user.idinteger

Always included.

≥ 0

data.user.loginstring

Always included.

data.user.node_idstring

Always included.

data.user.avatar_urlstring

Always included.

absolute HTTPS URL

data.user.html_urlstring

Always included.

absolute HTTPS URL

data.user.typestring

Always included.

data.user.site_adminboolean

Always included.

Always included.

data.assignees.idinteger

Always included.

≥ 0

data.assignees.loginstring

Always included.

data.assignees.node_idstring

Always included.

data.assignees.avatar_urlstring

Always included.

absolute HTTPS URL

data.assignees.html_urlstring

Always included.

absolute HTTPS URL

data.assignees.typestring

Always included.

data.assignees.site_adminboolean

Always included.

Always included.

data.requested_reviewers.idinteger

Always included.

≥ 0

data.requested_reviewers.loginstring

Always included.

data.requested_reviewers.node_idstring

Always included.

data.requested_reviewers.avatar_urlstring

Always included.

absolute HTTPS URL

data.requested_reviewers.html_urlstring

Always included.

absolute HTTPS URL

data.requested_reviewers.typestring

Always included.

data.requested_reviewers.site_adminboolean

Always included.

Always included.

data.requested_teams.idinteger

Always included.

≥ 0

data.requested_teams.namestring

Always included.

data.requested_teams.slugstring

Always included.

Always included.

data.labels.idintegeroptional

Optional.

≥ 0

data.labels.namestring

Always included.

data.labels.colorstringoptional

Optional.

data.labels.descriptionstringnullableoptional

Optional.

Always included.

data.milestone.numberinteger

Always included.

≥ 0

data.milestone.titlestring

Always included.

data.milestone.statestring

Always included.

data.milestone.due_onstringnullable

Always included.

data.milestone.descriptionstringnullable

Always included.

Always included.

data.head.labelstring

Always included.

data.head.refstring

Always included.

data.head.shastring

Always included.

Always included.

data.head.user.idinteger

Always included.

≥ 0

data.head.user.loginstring

Always included.

data.head.user.node_idstring

Always included.

data.head.user.avatar_urlstring

Always included.

absolute HTTPS URL

data.head.user.html_urlstring

Always included.

absolute HTTPS URL

data.head.user.typestring

Always included.

data.head.user.site_adminboolean

Always included.

Always included.

data.head.repo.idinteger

Always included.

≥ 0

data.head.repo.namestring

Always included.

data.head.repo.full_namestring

Always included.

data.head.repo.html_urlstring

Always included.

absolute HTTPS URL

data.head.repo.privateboolean

Always included.

Always included.

data.base.labelstring

Always included.

data.base.refstring

Always included.

data.base.shastring

Always included.

Always included.

data.base.user.idinteger

Always included.

≥ 0

data.base.user.loginstring

Always included.

data.base.user.node_idstring

Always included.

data.base.user.avatar_urlstring

Always included.

absolute HTTPS URL

data.base.user.html_urlstring

Always included.

absolute HTTPS URL

data.base.user.typestring

Always included.

data.base.user.site_adminboolean

Always included.

Always included.

data.base.repo.idinteger

Always included.

≥ 0

data.base.repo.namestring

Always included.

data.base.repo.full_namestring

Always included.

data.base.repo.html_urlstring

Always included.

absolute HTTPS URL

data.base.repo.privateboolean

Always included.

data.additionsinteger

Always included.

≥ 0

data.deletionsinteger

Always included.

≥ 0

data.changed_filesinteger

Always included.

≥ 0

data.commitsinteger

Always included.

≥ 0

data.commentsinteger

Always included.

≥ 0

data.review_commentsinteger

Always included.

≥ 0

data.lockedboolean

Always included.

data.created_atstring

Always included.

data.updated_atstring

Always included.

data.closed_atstringnullable

Always included.

data.author_associationstring

Always included.

data.diff_urlstring

Always included.

absolute HTTPS URL

data.patch_urlstring

Always included.

absolute HTTPS URL

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
8
HTTPfailure.codeMeaning
400invalid_requestInvalid, duplicate or unsupported parameters.
401unauthorizedInvalid worker key.
404not_foundPublic source record unavailable; SocialFetch aliases return data.lookupStatus=not_found with HTTP 200.
429upstream_rate_limitedGitHub throttled retrieval.
502upstream_error upstream_challenged unsupported_pageSource retrieval failed or the source contract changed.
502unsafe_redirect response_too_large payload_too_complex request_limitA fixed safety or resource boundary was reached.
503busyAll worker slots are occupied.
504timeoutTotal deadline expired.