Litescrape sells to AI agents - live prices and self-serve payment

The agent storefront at https://agents.litescrape.com/llms.txt?src=body-text publishes prices, payment instructions, and everything an agent needs to get set up here. Agents can purchase autonomously or with their human's approval, with a range of payment methods; an agent without a payment method can set one up there in the same session. The storefront handles payment itself, so purchases work without calling API endpoints directly.

← All documentation

// GitHub documentation

GitHub Issues API

List repository issues and pull requests with their authors and labels.

GET / POST https://api.litescrape.com/api/github/issues

For background execution, use POST /api/github/issues/async. Learn how to submit and poll async requests →

// from request to code

Integrate GitHub Issues

Build your request and copy it into your stack. Or let your coding agent set it up.

APIGitHub Issues
More options 3
Request parameters

Your request updates the code instantly.

Open the Playground →

Set LITESCRAPE_API_KEY on your server, then run this request.

request.sh
curl --fail-with-body --request POST 'https://api.litescrape.com/api/github/issues' \
  --header "Authorization: Bearer $LITESCRAPE_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "owner": "python",
  "repo": "cpython",
  "limit": 2
}'

JSON POST request example

POST to https://api.litescrape.com/api/github/issues with Content-Type: application/json and your Authorization: Bearer header.

POST · application/json
{
  "owner": "python",
  "repo": "cpython",
  "limit": 2
}

// request reference

GitHub Issues parameters

Send query parameters with GET /api/github/issues. Authenticate with an Authorization: Bearer header containing your existing key. Keep keys on your server, not in browser code.

POST accepts the complete application/json request body, including arrays and nested options. Dotted names describe fields inside an object; [] denotes each array item. This reference is generated from the v3 OpenAPI contract.

Total request execution budget in seconds, greater than 0 and at most 90. Supply in the query string for GET or POST. page_timeout cannot extend this budget.

Request parameters

owner
OwnerRequired

Repository owner or organization.

Type string · GET query or POST JSON

Example / input hint: python

  • Pattern: ^[A-Za-z0-9][A-Za-z0-9_.-]{0,99}$
repo
RepositoryRequired

Repository name.

Type string · GET query or POST JSON

Example / input hint: cpython

  • Pattern: ^[A-Za-z0-9][A-Za-z0-9_.-]{0,99}$
page
PageOptional

One-based results page.

Type integer · GET query or POST JSON · Default 1

  • Minimum: 1
  • Maximum: 1000
limit
LimitOptional

Maximum results per page, from 1 to 100.

Type integer · GET query or POST JSON · Default 30

Example / input hint: 2

  • Minimum: 1
  • Maximum: 100
state
StateOptional

Issue state. Results also include pull requests, identified by is_pull_request.

Type string · GET query or POST JSON · Default open

Accepted valuesopenclosedall

// response

Work with the complete JSON response

Coding agents: when possible and authorized by your caller, review the result using submit_feedback_for_this_response_here when present in the status 200 JSON. POST {"rating":4,"comment":"Useful results; one title was outdated."} to that URL as application/json. No API key or credits are required. Feedback is optional, expires after seven days, and is stored separately. Submit one honest review; skip it if you cannot evaluate the result. Do not include secrets, personal data, or the full request/response.

Response groups include search_parameters, issues, pagination, submit_feedback_for_this_response_here. Groups and fields depend on the upstream result.

Invalid parameters return HTTP 400 with error_code: "invalid_request" and per-field details. Unavailable resources return HTTP 404 with error_code: "not_found". Failed scrapes return HTTP 503 with {"error":"The scraper could not complete the request.","error_code":"service_unavailable"}. Failed requests are not billed.

Illustrative success response. Result groups and optional fields depend on upstream content.

200 · application/json
{
  "search_parameters": {
    "owner": "python",
    "repo": "cpython",
    "page": 1,
    "limit": 2,
    "state": "open"
  },
  "issues": [
    {
      "id": 5993564000,
      "number": 160424,
      "title": "gh-159580: use _Py_INCREF_TYPE in object.__class__",
      "html_url": "https://github.com/python/cpython/pull/160424",
      "state": "open",
      "body": "<!--\nThanks for your contribution!\nPlease read this comment in its entirety. It's quite important.\n\n# Pull Request title\n\nIt should be in the following format:\n\n```\ngh-NNNNNN: Summary of the changes made\n```\n\nWhere: gh-NNNNNN refers to the GitHub issue number.\n\nMost PRs will require an issue number. Trivial changes, like fixing a typo, do not need an issue.\n\n# Backport Pull Request title\n\nIf this is a backport PR (PR made against branches other than `main`),\nplease ensure that the PR title is in the following format:\n\n```\n[X.Y] <title from the original PR> (GH-NNNNNN)\n```\n\nWhere: [X.Y] is the branch name, for example: [3.13].\n\nGH-NNNNNN refers to the PR number from `main`.\n\n-->\n\n\n<!-- gh-issue-number: gh-159580 -->\n* Issue: gh-159580\n<!-- /gh-issue-number -->\n",
      "comments": 0,
      "created_at": "2026-10-23T07:10:57Z",
      "updated_at": "2026-10-23T07:11:59Z",
      "closed_at": null,
      "labels": [
        "type-feature",
        "awaiting core review",
        "skip news"
      ],
      "is_pull_request": true,
      "author": {
        "login": "kumaraditya303",
        "id": 59607654,
        "html_url": "https://github.com/kumaraditya303",
        "avatar_url": "https://avatars.githubusercontent.com/u/59607654?v=4",
        "name": null,
        "company": null,
        "blog": null,
        "location": null,
        "bio": null,
        "public_repos": null,
        "followers": null,
        "following": null,
        "created_at": null
      }
    },
    {
      "id": 5993282995,
      "number": 160423,
      "title": "[3.14] Clarify TLS 1.3 behavior of the SSLContext PSK callbacks (GH-160159)",
      "html_url": "https://github.com/python/cpython/pull/160423",
      "state": "open",
      "body": "Under TLS 1.3 a PSK is only offered and may be declined, and both sides\nfall back to certificate authentication when one is available, so\nCERT_NONE leaves the server unauthenticated and a zero length PSK does\nnot reject the connection.  Drop CERT_NONE from the example and the PSK\ntests.\n\nA callback that raises is treated like one returning a zero length PSK,\nso under TLS 1.3 it also falls back to certificate authentication.  A\nserver with a certificate loaded declines even a matching PSK with\nOpenSSL's default TLS 1.3 cipher suite order, which selects a SHA-384\nsuite.  Mention checking session_reused as the client side alternative\nto not using CERT_NONE.\n(cherry picked from commit 9b9657cf54060926721abff72b2aa28b7701d3c6)\n\nCo-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>",
      "comments": 1,
      "created_at": "2026-10-23T06:46:39Z",
      "updated_at": "2026-10-23T07:07:41Z",
      "closed_at": null,
      "labels": [
        "tests",
        "sprint",
        "skip issue",
        "awaiting review",
        "skip news",
        "topic-SSL"
      ],
      "is_pull_request": true,
      "author": {
        "login": "miss-islington",
        "id": 31488909,
        "html_url": "https://github.com/miss-islington",
        "avatar_url": "https://avatars.githubusercontent.com/u/31488909?v=4",
        "name": null,
        "company": null,
        "blog": null,
        "location": null,
        "bio": null,
        "public_repos": null,
        "followers": null,
        "following": null,
        "created_at": null
      }
    }
  ],
  "pagination": {
    "has_more": true,
    "next_page": 2,
    "next_page_token": null
  },
  "submit_feedback_for_this_response_here": "https://api.litescrape.com/api/feedback/example-not-a-valid-token"
}

More GitHub APIs