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

// Bluesky documentation

Bluesky Posts API

Read public posts from a Bluesky account with pagination.

GET / POST https://api.litescrape.com/api/bluesky/posts

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

// from request to code

Integrate Bluesky Posts

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

APIBluesky Posts
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/bluesky/posts' \
  --header "Authorization: Bearer $LITESCRAPE_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "actor": "bsky.app",
  "limit": 2
}'

JSON POST request example

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

POST · application/json
{
  "actor": "bsky.app",
  "limit": 2
}

// request reference

Bluesky Posts parameters

Send query parameters with GET /api/bluesky/posts. 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

actor
ActorRequired

Bluesky handle, such as bsky.app, or a did:plc identifier.

Type string · GET query or POST JSON

Example / input hint: bsky.app

  • Minimum characters: 3
  • Maximum characters: 253
  • Pattern: ^(?:[a-zA-Z0-9][a-zA-Z0-9.-]*\.[a-zA-Z]{2,}|did:plc:[a-z2-7]{24})$
limit
LimitOptional

Maximum posts per page, from 1 to 100.

Type integer · GET query or POST JSON · Default 30

Example / input hint: 2

  • Minimum: 1
  • Maximum: 100
cursor
CursorOptional

next_page_token returned by the previous response.

Type string · GET query or POST JSON

  • Minimum characters: 1
  • Maximum characters: 1000
filter
FilterOptional

Choose original posts, posts and replies, or posts containing media.

Type string · GET query or POST JSON · Default posts_no_replies

Accepted valuesposts_with_repliesposts_no_repliesposts_with_media

// 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, posts, 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": {
    "actor": "bsky.app",
    "limit": 2,
    "cursor": null,
    "filter": "posts_no_replies"
  },
  "posts": [
    {
      "uri": "at://did:plc:36ovml2uuovmc5hzzb433xgq/app.bsky.feed.post/3myiepbkizc2t",
      "text": "Looks Like the Next James Bond Has a Bluesky Account",
      "created_at": "2026-10-22T19:13:59.546Z",
      "author": {
        "did": "did:plc:36ovml2uuovmc5hzzb433xgq",
        "handle": "vtben.bsky.social",
        "display_name": "ben",
        "description": null,
        "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:36ovml2uuovmc5hzzb433xgq/bafkreicmdgznnhtby3bg42idzpysvi2ihly2i25n5iar4qr6ewubjbu7km",
        "followers_count": null,
        "follows_count": null,
        "posts_count": null
      },
      "reply_count": 4,
      "repost_count": 179,
      "like_count": 1755,
      "quote_count": 85
    },
    {
      "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3myi3k45jh22z",
      "text": "Also new in today’s v1.136 update: iPad support! \n\nOne of our most-requested features is finally here in beta.\n\nTry out the Bluesky app on your iPad, and if you see anything off, let us know under Settings > Beta features.",
      "created_at": "2026-10-22T16:30:02.437Z",
      "author": {
        "did": "did:plc:z72i7hdynmk6r22z27h6tvur",
        "handle": "bsky.app",
        "display_name": "Bluesky",
        "description": null,
        "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:z72i7hdynmk6r22z27h6tvur/bafkreihwihm6kpd6zuwhhlro75p5qks5qtrcu55jp3gddbfjsieiv7wuka",
        "followers_count": null,
        "follows_count": null,
        "posts_count": null
      },
      "reply_count": 92,
      "repost_count": 254,
      "like_count": 1490,
      "quote_count": 106
    }
  ],
  "pagination": {
    "has_more": true,
    "next_page": null,
    "next_page_token": "2026-10-22T16:30:02.437Z"
  },
  "submit_feedback_for_this_response_here": "https://api.litescrape.com/api/feedback/example-not-a-valid-token"
}

More Bluesky APIs