---
title: "Pull request"
method: GET
path: "/v1/github/pull-request"
tags: ["GitHub"]
---

# Pull request

`GET /v1/github/pull-request`

## Request

- Base URL: `https://api.scrapeatlas.com`
- URL: `https://api.scrapeatlas.com/v1/github/pull-request`
- Auth: API key in header `x-api-key`

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. Each successful request costs 1 account credit, including partial results. Failed requests cost 0 credits.

## Query parameters

- `url` string, required
- `cursor` string
- `page` string
- `limit` string
- `per_page` string
- `section` 'details' | 'files' | 'reviews' | 'comments' | 'commits'

## Response `200`

Inspect the response status and failure or coverage fields.

- union
  - object
    - `platform` 'github'
    - `endpoint` string
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `requestId` string, uuid, required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_html', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `data` object, required
      - `id` integer, required
      - `node_id` string, required
      - `number` integer, required
      - `html_url` string, uri, required
      - `title` string, required
      - `body` string, nullable, required
      - `state` 'open' | 'closed', required
      - `draft` boolean, required
      - `merged` boolean, required
      - `merged_at` string, nullable, required
      - `merge_commit_sha` string, nullable, required
      - `mergeable` boolean, nullable, required
      - `mergeable_state` string, required
      - `rebaseable` boolean, nullable
      - `merged_by` object, nullable, required
        - `id` integer, required
        - `login` string, required
        - `node_id` string, required
        - `avatar_url` string, uri, required
        - `html_url` string, uri, required
        - `type` string, required
        - `site_admin` boolean, required
      - `user` object, nullable, required
        - `id` integer, required
        - `login` string, required
        - `node_id` string, required
        - `avatar_url` string, uri, required
        - `html_url` string, uri, required
        - `type` string, required
        - `site_admin` boolean, required
      - `assignees` object[], required
        - `id` integer, required
        - `login` string, required
        - `node_id` string, required
        - `avatar_url` string, uri, required
        - `html_url` string, uri, required
        - `type` string, required
        - `site_admin` boolean, required
      - `requested_reviewers` object[], required
        - `id` integer, required
        - `login` string, required
        - `node_id` string, required
        - `avatar_url` string, uri, required
        - `html_url` string, uri, required
        - `type` string, required
        - `site_admin` boolean, required
      - `requested_teams` object[], required
        - `id` integer, required
        - `name` string, required
        - `slug` string, required
      - `labels` object[], required
        - `id` integer
        - `name` string, required
        - `color` string
        - `description` string, nullable
      - `milestone` object, nullable, required
        - `number` integer, required
        - `title` string, required
        - `state` string, required
        - `due_on` string, nullable, required
        - `description` string, nullable, required
      - `head` object, required
        - `label` string, required
        - `ref` string, required
        - `sha` string, required
        - `user` object, nullable, required
          - `id` integer, required
          - `login` string, required
          - `node_id` string, required
          - `avatar_url` string, uri, required
          - `html_url` string, uri, required
          - `type` string, required
          - `site_admin` boolean, required
        - `repo` object, nullable, required
          - `id` integer, required
          - `name` string, required
          - `full_name` string, required
          - `html_url` string, uri, required
          - `private` boolean, required
      - `base` object, required
        - `label` string, required
        - `ref` string, required
        - `sha` string, required
        - `user` object, nullable, required
          - `id` integer, required
          - `login` string, required
          - `node_id` string, required
          - `avatar_url` string, uri, required
          - `html_url` string, uri, required
          - `type` string, required
          - `site_admin` boolean, required
        - `repo` object, nullable, required
          - `id` integer, required
          - `name` string, required
          - `full_name` string, required
          - `html_url` string, uri, required
          - `private` boolean, required
      - `additions` integer, required
      - `deletions` integer, required
      - `changed_files` integer, required
      - `commits` integer, required
      - `comments` integer, required
      - `review_comments` integer, required
      - `locked` boolean, required
      - `created_at` string, required
      - `updated_at` string, required
      - `closed_at` string, nullable, required
      - `author_association` string, required
      - `diff_url` string, uri, required
      - `patch_url` string, uri, required
  - object
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `requestId` string, uuid, required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex' | 'upstream_pending', required
      - `message` string, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
  - object
    - `platform` 'github'
    - `endpoint` string
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `requestId` string, uuid, required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_html', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `data` object, required
      - `items` object[], required
        - `sha` string, required
        - `filename` string, required
        - `status` string, required
        - `additions` integer, required
        - `deletions` integer, required
        - `changes` integer, required
        - `blob_url` string, uri, required
        - `raw_url` string, uri, required
        - `contents_url` string, uri, required
        - `patch` string
        - `previous_filename` string
      - `next_cursor` string, nullable, required
      - `dropped` integer
      - `total` integer, nullable
    - `pagination` object, required
      - `next_cursor` string, nullable, required
      - `has_more` boolean, required
      - `page_size` integer
  - object
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `requestId` string, uuid, required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex' | 'upstream_pending', required
      - `message` string, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
  - object
    - `platform` 'github'
    - `endpoint` string
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `requestId` string, uuid, required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_html', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `data` object, required
      - `items` object[], required
        - `id` integer, required
        - `node_id` string, required
        - `user` object, nullable, required
          - `id` integer, required
          - `login` string, required
          - `node_id` string, required
          - `avatar_url` string, uri, required
          - `html_url` string, uri, required
          - `type` string, required
          - `site_admin` boolean, required
        - `body` string, required
        - `state` string, required
        - `html_url` string, uri, required
        - `submitted_at` string, nullable
        - `commit_id` string, nullable, required
        - `author_association` string, required
      - `next_cursor` string, nullable, required
      - `dropped` integer
      - `total` integer, nullable
    - `pagination` object, required
      - `next_cursor` string, nullable, required
      - `has_more` boolean, required
      - `page_size` integer
  - object
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `requestId` string, uuid, required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex' | 'upstream_pending', required
      - `message` string, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
  - object
    - `platform` 'github'
    - `endpoint` string
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `requestId` string, uuid, required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_html', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `data` object, required
      - `items` object[], required
        - `id` integer, required
        - `node_id` string, required
        - `user` object, nullable, required
          - `id` integer, required
          - `login` string, required
          - `node_id` string, required
          - `avatar_url` string, uri, required
          - `html_url` string, uri, required
          - `type` string, required
          - `site_admin` boolean, required
        - `body` string, required
        - `html_url` string, uri, required
        - `pull_request_review_id` integer, nullable, required
        - `diff_hunk` string, required
        - `path` string, required
        - `commit_id` string, required
        - `original_commit_id` string, required
        - `in_reply_to_id` integer
        - `line` integer, nullable, required
        - `original_line` integer, nullable, required
        - `start_line` integer, nullable
        - `original_start_line` integer, nullable
        - `side` string, required
        - `start_side` string, nullable
        - `position` integer, nullable
        - `original_position` integer
        - `subject_type` string
        - `created_at` string, required
        - `updated_at` string, required
        - `author_association` string, required
        - `reactions` object
          - `total_count` integer, required
          - `+1` integer, required
          - `-1` integer, required
          - `laugh` integer, required
          - `confused` integer, required
          - `heart` integer, required
          - `hooray` integer, required
          - `eyes` integer, required
          - `rocket` integer, required
      - `next_cursor` string, nullable, required
      - `dropped` integer
      - `total` integer, nullable
    - `pagination` object, required
      - `next_cursor` string, nullable, required
      - `has_more` boolean, required
      - `page_size` integer
  - object
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `requestId` string, uuid, required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex' | 'upstream_pending', required
      - `message` string, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
  - object
    - `platform` 'github'
    - `endpoint` string
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `requestId` string, uuid, required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_html', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `data` object, required
      - `items` object[], required
        - `sha` string, required
        - `node_id` string, required
        - `html_url` string, uri, required
        - `author` object, nullable, required
          - `id` integer, required
          - `login` string, required
          - `node_id` string, required
          - `avatar_url` string, uri, required
          - `html_url` string, uri, required
          - `type` string, required
          - `site_admin` boolean, required
        - `committer` object, nullable, required
          - `id` integer, required
          - `login` string, required
          - `node_id` string, required
          - `avatar_url` string, uri, required
          - `html_url` string, uri, required
          - `type` string, required
          - `site_admin` boolean, required
        - `commit` object, required
          - `author` object, nullable, required
            - `name` string, required
            - `email` string, required
            - `date` string, required
          - `committer` object, nullable, required
            - `name` string, required
            - `email` string, required
            - `date` string, required
          - `message` string, required
          - `comment_count` integer, required
          - `tree` object, required
            - `sha` string, required
            - `url` string, uri, required
          - `verification` object, required
            - `verified` boolean, required
            - `reason` string, required
            - `signature` string, nullable, required
            - `payload` string, nullable, required
            - `verified_at` string, nullable
        - `parents` object[], required
          - `sha` string, required
          - `url` string, uri, required
          - `html_url` string, uri, required
      - `next_cursor` string, nullable, required
      - `dropped` integer
      - `total` integer, nullable
    - `pagination` object, required
      - `next_cursor` string, nullable, required
      - `has_more` boolean, required
      - `page_size` integer
  - object
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `requestId` string, uuid, required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex' | 'upstream_pending', required
      - `message` string, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required

## Other responses

- `400`: Request could not complete; inspect error or failure.code.
- `401`: Request could not complete; inspect error or failure.code.
- `402`: Request could not complete; inspect error or failure.code.
- `403`: Request could not complete; inspect error or failure.code.
- `404`: Request could not complete; inspect error or failure.code.
- `408`: Request could not complete; inspect error or failure.code.
- `413`: Request could not complete; inspect error or failure.code.
- `429`: Request could not complete; inspect error or failure.code.
- `500`: Request could not complete; inspect error or failure.code.
- `502`: Request could not complete; inspect error or failure.code.
- `503`: Request could not complete; inspect error or failure.code.
- `504`: Request could not complete; inspect error or failure.code.

---

[API](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api.md) · [All operations](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/revisions/9ba049316894?raw)
