fetchproof.

/v1/bluesky/user/posts

GET

Posts

Get Bluesky user posts. Use user_id for faster response times.

Credit cost

Default: 1 credit

How charges are determined

Cost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns.

A call that fails costs 0 credits. A result served from cache costs 0 credits.

`default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins.

A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true).

A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute.

Cache supportNot specified in the published contract.
PaginationNo explicit pagination metadata in the published contract. Consult the parameters and response fields below.

Parameters

NameLocation / requiredSchema
handle

Bluesky handle

query / optional

string

user_id

Bluesky user DID.

query / optional

string

Request examples

Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.

cURL
curl --request GET 'https://api.fetchproof.com/v1/bluesky/user/posts' \
  --header 'x-api-key: YOUR_API_KEY'
JavaScript
const response = await fetch("https://api.fetchproof.com/v1/bluesky/user/posts", {
  method: 'GET',
  headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());
Python
import os
import requests

response = requests.get("https://api.fetchproof.com/v1/bluesky/user/posts",
    headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)

Responses

200Success. Envelope: success / credits_remaining / credits_charged.

application/json

object

successrequired

boolean

credits_remainingrequired

integer

credits_chargedrequired

integer

feedrequired

array

Array items

object

urirequired

string

cidrequired

string

authorrequired

object

didrequired

string

handlerequired

string

displayNamerequired

string

avatarrequired

string

labelsrequired

array

Array items

object

srcrequired

string

urirequired

string

cidrequired

string

valrequired

string

ctsrequired

string

{
  "format": "date-time"
}
createdAtrequired

string

{
  "format": "date-time"
}
verificationoptional

object

verificationsrequired

array

Array items

object

issuerrequired

string

urirequired

string

isValidrequired

boolean

createdAtrequired

string

{
  "format": "date-time"
}
issuerDisplayNameoptional

string

issuerHandleoptional

string

verifiedStatusrequired

string

trustedVerifierStatusrequired

string

associatedoptional

object

chatoptional

object

allowIncomingrequired

string

allowGroupInvitesoptional

string

activitySubscriptionrequired

object

allowSubscriptionsrequired

string

statusoptional

object

urirequired

string

cidrequired

string

recordrequired

object

$typerequired

string

createdAtrequired

string

{
  "format": "date-time"
}
durationMinutesrequired

integer

embedrequired

object

$typerequired

string

externalrequired

object

$typerequired

string

descriptionrequired

string

thumbrequired

object

$typerequired

string

refrequired

object

$linkrequired

string

mimeTyperequired

string

sizerequired

integer

titlerequired

string

urirequired

string

statusrequired

string

statusrequired

string

embedrequired

object

externalrequired

object

urirequired

string

titlerequired

string

descriptionrequired

string

thumbrequired

string

$typerequired

string

labelsrequired

array

expiresAtrequired

string

{
  "format": "date-time"
}
isActiverequired

boolean

pronounsoptional

string

recordrequired

object

$typerequired

string

createdAtrequired

string

{
  "format": "date-time"
}
embedoptional

object

$typerequired

string

cardoptional

object

descriptionrequired

string

thumbrequired

object

$typerequired

string

refrequired

object

$linkrequired

string

mimeTyperequired

string

sizerequired

integer

titlerequired

string

urirequired

string

externaloptional

object

descriptionrequired

string

thumbrequired

object

$typerequired

string

refrequired

object

$linkrequired

string

mimeTyperequired

string

sizerequired

integer

titlerequired

string

urirequired

string

imagesoptional

array

Array items

object

altrequired

string

aspectRatiorequired

object

heightrequired

integer

widthrequired

integer

imagerequired

object

$typerequired

string

refrequired

object

$linkrequired

string

mimeTyperequired

string

sizerequired

integer

aspectRatiooptional

object

heightrequired

integer

widthrequired

integer

presentationoptional

string

videooptional

object

$typerequired

string

refrequired

object

$linkrequired

string

mimeTyperequired

string

sizerequired

integer

altoptional

string

facetsoptional

array

textrequired

string

langsoptional

array

Array items

string

embedoptional

object

imagesoptional

array

Array items

object

thumbrequired

string

fullsizerequired

string

altrequired

string

aspectRatiorequired

object

heightrequired

integer

widthrequired

integer

$typeoptional

string

cidoptional

string

playlistoptional

string

thumbnailoptional

string

aspectRatiooptional

object

heightrequired

integer

widthrequired

integer

presentationoptional

string

altoptional

string

replyCountrequired

integer

repostCountrequired

integer

likeCountrequired

integer

quoteCountrequired

integer

indexedAtrequired

string

{
  "format": "date-time"
}
labelsrequired

array

bookmarkCountoptional

integer

threadgateoptional

object

urirequired

string

cidrequired

string

recordrequired

object

$typerequired

string

createdAtrequired

string

{
  "format": "date-time"
}
hiddenRepliesrequired

array

Array items

string

postrequired

string

listsrequired

array

cursorrequired

string

{
  "format": "date-time"
}
401Invalid or missing x-api-key
402No credits remaining
403Upstream denied (age gate, audience controls)
404Resource or endpoint not found
429Rate limited