BLUESKY API
Posts
Retrieve posts from Bluesky with a single API request.
GET
/api/data/v1/bluesky/user/posts1credit base cost
Request parameters
Up to 1 creditBluesky handle
Bluesky 'did'. (For some reason Bluesky calls their user ids, 'did' for whatever reason)
Live requests use your prepaid balance. Cached responses cost zero where supported.
curl --request GET \
--url 'https://fetchgoblin.com/api/data/v1/bluesky/user/posts?handle=espn.com' \
--header 'x-api-key: YOUR_FETCHGOBLIN_API_KEY'Response
Example{
"success": true,
"credits_charged": 1,
"feed": [
{
"uri": "at://did:plc:x7d6j54pm22ufehkes6jo4jf/app.bsky.feed.post/3lqdfq7fkvm2g",
"cid": "bafyreibams5wyqdpg2cmmks7lhf5ccxu7hbu24sfatgc53jmb2nun5k5dm",
"author": {
"did": "did:plc:x7d6j54pm22ufehkes6jo4jf",
"handle": "espn.com",
"displayName": "ESPN",
"avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:x7d6j54pm22ufehkes6jo4jf/bafkreie4oxawqqsfzvk47ysr3unsnmviedzpylxmwxnpa534to2bzas4ie@jpeg",
"labels": [],
"createdAt": "2024-11-25T21:49:49.345Z",
"verification": {
"verifications": [
{
"issuer": "did:plc:z72i7hdynmk6r22z27h6tvur",
"uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.graph.verification/3lndppjqgb72f",
"isValid": true,
"createdAt": "2025-04-21T10:44:20.398Z"
}
],
"verifiedStatus": "valid",
"trustedVerifierStatus": "none"
}
},
"record": {
"$type": "app.bsky.feed.post",
"createdAt": "2025-05-29T19:01:20.743Z",
"embed": {
"$type": "app.bsky.embed.external",
"card": {
"description": "The Oilers apparently will have defenseman Mattias Ekholm back in their lineup for Game 5 of the Western Conference finals against the Stars.",
"thumb": {
"$type": "blob",
"ref": {
"$link": "bafkreihhffgngv4thcnw7sh7o43qnwwyjvfemdlccwalu76r3vnhlbssle"
},
"mimeType": "image/jpeg",
"size": 158648
},
"title": "Oilers' Ekholm set for return in Game 5 vs. Stars",
"uri": "http://spr.ly/63320N4OEy"
},
"external": {
"description": "The Oilers apparently will have defenseman Mattias Ekholm back in their lineup for Game 5 of the Western Conference finals against the Stars.",
"thumb": {
"$type": "blob",
"ref": {
"$link": "bafkreihhffgngv4thcnw7sh7o43qnwwyjvfemdlccwalu76r3vnhlbssle"
},
"mimeType": "image/jpeg",
"size": 158648
},
"title": "Oilers' Ekholm set for return in Game 5 vs. Stars",
"uri": "http://spr.ly/63320N4OEy"
}
},
"facets": [],
"text": "Oilers' defenseman Mattias Ekholm is set to return to action Thursday for Game 5 of the Western Conference finals against the Stars.\n\nEkholm has been out of the Oilers' lineup since April 11 with an undisclosed injury."
},
"embed": {},
"replyCount": 1,
"repostCount": 0,
"likeCount": 24,
"quoteCount": 1,
"indexedAt": "2025-05-29T19:01:21.645Z",
"labels": []
}
],
"cursor": "2025-05-22T17:02:02.847Z"
}Example data from the API specification. Run a request to retrieve current data.
Response shape
This schema describes the documented data shape. Some platform fields may be absent or null. The response also includes your FetchGoblin request ID and current credit balance.
View JSON Schema +
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"credits_remaining": {
"type": "integer"
},
"credits_charged": {
"type": "integer"
},
"feed": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uri": {
"type": "string"
},
"cid": {
"type": "string"
},
"author": {
"type": "object",
"properties": {
"did": {
"type": "string"
},
"handle": {
"type": "string"
},
"displayName": {
"type": "string"
},
"avatar": {
"type": "string"
},
"labels": {
"type": "array"
},
"createdAt": {
"type": "string"
},
"verification": {
"type": "object",
"properties": {
"verifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"issuer": {
"type": "string"
},
"uri": {
"type": "string"
},
"isValid": {
"type": "boolean"
},
"createdAt": {
"type": "string"
}
}
}
},
"verifiedStatus": {
"type": "string"
},
"trustedVerifierStatus": {
"type": "string"
}
}
}
}
},
"record": {
"type": "object",
"properties": {
"$type": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"embed": {
"type": "object",
"properties": {
"$type": {
"type": "string"
},
"card": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"thumb": {
"type": "object",
"properties": {
"$type": {
"type": "string"
},
"ref": {
"type": "object",
"properties": {
"$link": {
"type": "string"
}
}
},
"mimeType": {
"type": "string"
},
"size": {
"type": "integer"
}
}
},
"title": {
"type": "string"
},
"uri": {
"type": "string"
}
}
},
"external": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"thumb": {
"type": "object",
"properties": {
"$type": {
"type": "string"
},
"ref": {
"type": "object",
"properties": {
"$link": {
"type": "string"
}
}
},
"mimeType": {
"type": "string"
},
"size": {
"type": "integer"
}
}
},
"title": {
"type": "string"
},
"uri": {
"type": "string"
}
}
}
}
},
"facets": {
"type": "array"
},
"text": {
"type": "string"
}
}
},
"embed": {
"type": "object",
"properties": {}
},
"replyCount": {
"type": "integer"
},
"repostCount": {
"type": "integer"
},
"likeCount": {
"type": "integer"
},
"quoteCount": {
"type": "integer"
},
"indexedAt": {
"type": "string"
},
"labels": {
"type": "array"
}
}
}
},
"cursor": {
"type": "string"
}
}
}