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 Releases API

List repository releases and downloadable assets.

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

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

// from request to code

Integrate GitHub Releases

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

APIGitHub Releases
More options 2
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/releases' \
  --header "Authorization: Bearer $LITESCRAPE_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "owner": "pallets",
  "repo": "flask",
  "limit": 2
}'

JSON POST request example

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

POST · application/json
{
  "owner": "pallets",
  "repo": "flask",
  "limit": 2
}

// request reference

GitHub Releases parameters

Send query parameters with GET /api/github/releases. 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: pallets

  • 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: flask

  • 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

// 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, releases, 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": "pallets",
    "repo": "flask",
    "page": 1,
    "limit": 2
  },
  "releases": [
    {
      "id": 287999283,
      "tag_name": "3.1.3",
      "name": "",
      "html_url": "https://github.com/pallets/flask/releases/tag/3.1.3",
      "body": "This is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\r\n\r\nPyPI: https://pypi.org/project/Flask/3.1.3/\r\nChanges: https://flask.palletsprojects.com/page/changes/#version-3-1-3\r\n\r\n- The session is marked as accessed for operations that only access the keys but not the values, such as `in` and `len`. [GHSA-68rp-wp8r-4726](https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726)",
      "draft": false,
      "prerelease": false,
      "published_at": "2026-02-19T05:01:30Z",
      "assets": [
        {
          "name": "flask-3.1.3-py3-none-any.whl",
          "browser_download_url": "https://github.com/pallets/flask/releases/download/3.1.3/flask-3.1.3-py3-none-any.whl",
          "content_type": "application/octet-stream",
          "size": 103424,
          "download_count": 619
        },
        {
          "name": "flask-3.1.3.tar.gz",
          "browser_download_url": "https://github.com/pallets/flask/releases/download/3.1.3/flask-3.1.3.tar.gz",
          "content_type": "application/x-gtar",
          "size": 759004,
          "download_count": 576
        }
      ]
    },
    {
      "id": 241017558,
      "tag_name": "3.1.2",
      "name": "",
      "html_url": "https://github.com/pallets/flask/releases/tag/3.1.2",
      "body": "This is the Flask 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\r\n\r\nPyPI: https://pypi.org/project/Flask/3.1.2/\r\nChanges: https://flask.palletsprojects.com/page/changes/#version-3-1-2\r\nMilestone: https://github.com/pallets/flask/milestone/38?closed=1\r\n\r\n- `stream_with_context` does not fail inside async views. #5774\r\n- When using `follow_redirects` in the test client, the final state of `session` is correct. #5786\r\n- Relax type hint for passing bytes IO to `send_file`. #5776\r\n",
      "draft": false,
      "prerelease": false,
      "published_at": "2025-08-19T21:03:31Z",
      "assets": [
        {
          "name": "flask-3.1.2-py3-none-any.whl",
          "browser_download_url": "https://github.com/pallets/flask/releases/download/3.1.2/flask-3.1.2-py3-none-any.whl",
          "content_type": "application/octet-stream",
          "size": 103308,
          "download_count": 392
        },
        {
          "name": "flask-3.1.2.tar.gz",
          "browser_download_url": "https://github.com/pallets/flask/releases/download/3.1.2/flask-3.1.2.tar.gz",
          "content_type": "application/x-gtar",
          "size": 720160,
          "download_count": 510
        }
      ]
    }
  ],
  "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