# Bluesky Post Details Scraper (`ecomscrape/bluesky-post-details-scraper`) Actor

Bluesky Post Details Scraper automates extraction of comprehensive post data including engagement metrics, author information, embedded content, and conversation threads. Efficiently collect social media intelligence from the decentralized Bluesky platform for brand monitoring, trend analysis.

- **URL**: https://apify.com/ecomscrape/bluesky-post-details-scraper.md
- **Developed by:** [ecomscrape](https://apify.com/ecomscrape) (community)
- **Categories:** Developer tools, Automation, Social media
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## Bluesky Post Details Scraper: Extract Social Media Analytics & Engagement Data

### Introduction

Bluesky is an emerging decentralized social media platform built on the AT Protocol, positioning itself as a next-generation alternative to traditional social networks. As a protocol-based platform, Bluesky offers unique transparency in social data while maintaining user control and privacy. The platform has rapidly grown its user base, attracting early adopters, tech enthusiasts, journalists, and communities seeking alternatives to centralized social media.

For social media managers, brand strategists, researchers, and marketers, accessing structured Bluesky post data is increasingly valuable as the platform's influence grows. However, manually tracking posts, engagement metrics, and conversation threads across multiple accounts is inefficient and doesn't scale for comprehensive social listening or competitive analysis.

The Bluesky Post Details Scraper automates the extraction of detailed post-level data, enabling systematic collection of engagement metrics, author information, embedded media, and reply threads. Whether you're monitoring brand mentions, analyzing viral content patterns, tracking influencer activity, or conducting social media research, this scraper provides the structured data needed for actionable insights.

### Scraper Overview

The Bluesky Post Details Scraper is a specialized tool designed to extract comprehensive information from individual posts on the Bluesky social platform. It captures engagement metrics, author details, embedded content, and conversation data through systematic automated extraction.

The scraper is particularly valuable for social media analysts monitoring platform trends, brand managers tracking mentions and sentiment, researchers studying decentralized social networks, content creators analyzing engagement patterns, and marketers measuring campaign performance on Bluesky.

Key advantages include the ability to process multiple posts simultaneously, automatic handling of failed URLs to ensure uninterrupted data collection, and extraction of detailed engagement metrics and conversation threads that provide deep insight into content performance and audience interaction.

### Input Configuration

Example url 1: https://bsky.app/profile/contemprainn.bsky.social/post/3mizlvoqbvc2y

Example url 2: https://bsky.app/profile/thesouthernpath.com/post/3miz74engjs2q

Example url 3: https://bsky.app/profile/kevinosx.bsky.social/post/3miyun3uxnk2r
    
Example Screenshot of product information page:
    
![](https://i.ibb.co/3VVM7Y5/Screenshot-from-2026-04-09-11-11-41.png)

#### Input Format

The scraper accepts a simple JSON configuration for extracting data from specific Bluesky posts.

```json
{
  "urls": [
    "https://bsky.app/profile/contemprainn.bsky.social/post/3mizlvoqbvc2y"
  ],
  "ignore_url_failures": true
}
````

**The `urls` parameter**: Add the URLs of specific Bluesky posts you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list. These should be direct links to individual posts, not profile pages or feeds.

**The `ignore_url_failures` parameter**: If set to `true`, the scraper continues running even if some URLs fail to load. This ensures one problematic URL doesn't stop your entire data collection job, essential when tracking multiple posts or conversations.

#### Output Format

```json
[
  {
  "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24",
  "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
  "author": {
    "did": "did:plc:aslw5awiodzplmvzhbysxuwp",
    "handle": "johnfugelsang.bsky.social",
    "display_name": "John Fugelsang",
    "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:aslw5awiodzplmvzhbysxuwp/bafkreidc3oygmo3ll5tuy4xybjatomqtaqu7mmfcz4tgue5h23pvsgbmdy",
    "associated": {
      "chat": {
        "allow_incoming": "all"
      },
      "activity_subscription": {
        "allow_subscriptions": "followers"
      }
    },
    "labels": [],
    "created_at": "2023-05-04T20:10:42.840Z",
    "verification": {
      "verifications": [
        {
          "issuer": "did:plc:z72i7hdynmk6r22z27h6tvur",
          "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.graph.verification/3lsghcfmjwu2m",
          "is_valid": true,
          "created_at": "2025-06-25T10:57:47.178Z"
        }
      ],
      "verified_status": "valid",
      "trusted_verifier_status": "none"
    }
  },
  "record": {
    "$type": "app.bsky.feed.post",
    "created_at": "2026-04-09T03:06:54.722Z",
    "embed": {
      "$type": "app.bsky.embed.images",
      "images": [
        {
          "alt": "",
          "aspect_ratio": {
            "height": 487,
            "width": 686
          },
          "image": {
            "$type": "blob",
            "ref": {
              "$link": "bafkreidefaeyc6sgsasr54xldkuysgjqoweoummk2bbsrcka72nrh4sdga"
            },
            "mime_type": "image/jpeg",
            "size": 147710
          }
        }
      ]
    },
    "langs": [
      "en"
    ],
    "text": "Open phones for the next hour on SiriusXM #127 - you don't need to subscribe to join the conversation.\n\nI'm assuming you have thoughts on Iran, MAGA, Epstein, etc.\n\n866.997.GRIT"
  },
  "embed": {
    "images": [
      {
        "thumb": "https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:aslw5awiodzplmvzhbysxuwp/bafkreidefaeyc6sgsasr54xldkuysgjqoweoummk2bbsrcka72nrh4sdga",
        "fullsize": "https://cdn.bsky.app/img/feed_fullsize/plain/did:plc:aslw5awiodzplmvzhbysxuwp/bafkreidefaeyc6sgsasr54xldkuysgjqoweoummk2bbsrcka72nrh4sdga",
        "alt": "",
        "aspect_ratio": {
          "height": 487,
          "width": 686
        }
      }
    ],
    "$type": "app.bsky.embed.images#view"
  },
  "bookmark_count": 9,
  "reply_count": 10,
  "repost_count": 64,
  "like_count": 283,
  "quote_count": 0,
  "indexed_at": "2026-04-09T03:06:56.747Z",
  "labels": [],
  "replies": [
    {
      "post": {
        "uri": "at://did:plc:xjglh4sogp3ohpbgyf3nn43y/app.bsky.feed.post/3mizuz6int226",
        "cid": "bafyreifithg4khcbd3qqermgquwbceu7sdjiyblzazn47ac4xtwnonfm7i",
        "author": {
          "did": "did:plc:xjglh4sogp3ohpbgyf3nn43y",
          "handle": "jonhartmannmusic.bsky.social",
          "display_name": "Jon Hartmann",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:xjglh4sogp3ohpbgyf3nn43y/bafkreiglw4azlkvfh5maafcbodwnmot6lpd24i72it6tqgh3xrxarbe5gu",
          "associated": {
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2024-11-19T01:25:55.303Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T03:38:01.269Z",
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "unless I'm mistaken\n you can't have good 'ol fashioned\n fascism without the blessing\n of the church/Mosque/schul/Scientology Center"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 0,
        "quote_count": 0,
        "indexed_at": "2026-04-09T03:38:03.254Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {},
      "$type": "app.bsky.feed.defs#threadViewPost"
    },
    {
      "post": {
        "uri": "at://did:plc:oe4wlqjnz5o4vt457lygfeim/app.bsky.feed.post/3miztpuzt4c2k",
        "cid": "bafyreihortq4pi6fbhqrcztl2dymxs2jm5raawe3cbb33gfwdetrz3fhse",
        "author": {
          "did": "did:plc:oe4wlqjnz5o4vt457lygfeim",
          "handle": "giggles708.bsky.social",
          "display_name": "GIGGLES708",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:oe4wlqjnz5o4vt457lygfeim/bafkreibwxu7ndp7rkhpvuxbveyl6pwknonyczdidnv3izffva23sn3stra",
          "associated": {
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2024-02-09T01:34:08.805Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T03:14:55.613Z",
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "Cool! Huge admirer of your work John"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 1,
        "quote_count": 0,
        "indexed_at": "2026-04-09T03:14:56.150Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {},
      "$type": "app.bsky.feed.defs#threadViewPost"
    },
    {
      "post": {
        "uri": "at://did:plc:i734uhrhool3mjub7w74h6ia/app.bsky.feed.post/3miztzegvk22b",
        "cid": "bafyreidxdb25sy6miux3abddu54ma65ciyvqmza4u7zquhcylsp4dyoz3q",
        "author": {
          "did": "did:plc:i734uhrhool3mjub7w74h6ia",
          "handle": "seasideseawitch.bsky.social",
          "display_name": "Sea_side Sea_witch",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:i734uhrhool3mjub7w74h6ia/bafkreia3w2cizgj7bjkvpkrj42pm4s4mitr2o6rxy2fxcoc5rf6xjaxg74",
          "associated": {
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2025-01-29T17:59:40.142Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T03:20:13.760Z",
          "embed": {
            "$type": "app.bsky.embed.video",
            "aspect_ratio": {
              "height": 1280,
              "width": 720
            },
            "presentation": "default",
            "video": {
              "$type": "blob",
              "ref": {
                "$link": "bafkreih22wong2j2cyqeu5pvyqwlrsadw2mai4heed5jepzqqqtjelkeuq"
              },
              "mime_type": "video/mp4",
              "size": 17993391
            }
          },
          "facets": [
            {
              "features": [
                {
                  "$type": "app.bsky.richtext.facet#tag",
                  "tag": "Iran"
                }
              ],
              "index": {
                "byte_end": 5,
                "byte_start": 0
              }
            },
            {
              "features": [
                {
                  "$type": "app.bsky.richtext.facet#tag",
                  "tag": "Epstein"
                }
              ],
              "index": {
                "byte_end": 14,
                "byte_start": 6
              }
            },
            {
              "features": [
                {
                  "$type": "app.bsky.richtext.facet#tag",
                  "tag": "abolishice"
                }
              ],
              "index": {
                "byte_end": 26,
                "byte_start": 15
              }
            },
            {
              "features": [
                {
                  "$type": "app.bsky.richtext.facet#tag",
                  "tag": "Legos"
                }
              ],
              "index": {
                "byte_end": 33,
                "byte_start": 27
              }
            }
          ],
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "#Iran #Epstein #abolishice #Legos"
        },
        "embed": {
          "cid": "bafkreih22wong2j2cyqeu5pvyqwlrsadw2mai4heed5jepzqqqtjelkeuq",
          "playlist": "https://video.bsky.app/watch/did%3Aplc%3Ai734uhrhool3mjub7w74h6ia/bafkreih22wong2j2cyqeu5pvyqwlrsadw2mai4heed5jepzqqqtjelkeuq/playlist.m3u8",
          "thumbnail": "https://video.bsky.app/watch/did%3Aplc%3Ai734uhrhool3mjub7w74h6ia/bafkreih22wong2j2cyqeu5pvyqwlrsadw2mai4heed5jepzqqqtjelkeuq/thumbnail.jpg",
          "aspect_ratio": {
            "height": 1280,
            "width": 720
          },
          "presentation": "default",
          "$type": "app.bsky.embed.video#view"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 1,
        "quote_count": 0,
        "indexed_at": "2026-04-09T03:20:15.952Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {},
      "$type": "app.bsky.feed.defs#threadViewPost"
    },
    {
      "post": {
        "uri": "at://did:plc:gp47c2aemz34xgzv77fxto6y/app.bsky.feed.post/3mizwpc42uc2j",
        "cid": "bafyreieto6d6dflb3tz66h5wiq4b7omrwb6jndnjyr7rbwzoe5hy454ai4",
        "author": {
          "did": "did:plc:gp47c2aemz34xgzv77fxto6y",
          "handle": "musk-family-ftms.bsky.social",
          "display_name": "",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:gp47c2aemz34xgzv77fxto6y/bafkreic6jbimltnf47tkp3xuufalvy6ku3nk3yfg35vsy5mezlp75caui4",
          "associated": {
            "chat": {
              "allow_incoming": "none"
            },
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2025-02-06T01:50:26.044Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T04:08:16.989Z",
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "Gog and Magog seems backward because it is Israel and the United States that attacked not Iran and Russia. So we go to Shi'a Islam The Mahdi's Return.\n\nAl-Dajjāl (Anti-Christ): A wicked figure who creates disorder before being defeated. Chaos and Tyranny: Trump or Netanyahu?"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 0,
        "quote_count": 0,
        "indexed_at": "2026-04-09T04:08:10.750Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {},
      "$type": "app.bsky.feed.defs#threadViewPost"
    },
    {
      "post": {
        "uri": "at://did:plc:g3nfolmodtwff35kxcfjybse/app.bsky.feed.post/3mizvvkwcdk23",
        "cid": "bafyreih6ugj4b4tt5zhgkknanrw3slgc6n5eiayachys6sqkpt6l4v3vce",
        "author": {
          "did": "did:plc:g3nfolmodtwff35kxcfjybse",
          "handle": "ellelaw4.bsky.social",
          "display_name": "Ellelaw4",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:g3nfolmodtwff35kxcfjybse/bafkreih434wabfy4ivqboxvtnaic7me6bjrwkesb62yqiuawpwp6w4tf4a",
          "associated": {
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2024-11-22T13:11:03.954Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T03:53:53.821Z",
          "embed": {
            "$type": "app.bsky.embed.images",
            "images": [
              {
                "alt": "",
                "aspect_ratio": {
                  "height": 1398,
                  "width": 1189
                },
                "image": {
                  "$type": "blob",
                  "ref": {
                    "$link": "bafkreightfnzmlbyu3mbcpqnopwgtyxuoi6fma4dszus3iaplofvn4iw5m"
                  },
                  "mime_type": "image/jpeg",
                  "size": 500952
                }
              }
            ]
          },
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "Here’s Trump’s Spiritual Advisor 🤦🏻‍♀️ - Fits right in with Grifter Trump Team"
        },
        "embed": {
          "images": [
            {
              "thumb": "https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:g3nfolmodtwff35kxcfjybse/bafkreightfnzmlbyu3mbcpqnopwgtyxuoi6fma4dszus3iaplofvn4iw5m",
              "fullsize": "https://cdn.bsky.app/img/feed_fullsize/plain/did:plc:g3nfolmodtwff35kxcfjybse/bafkreightfnzmlbyu3mbcpqnopwgtyxuoi6fma4dszus3iaplofvn4iw5m",
              "alt": "",
              "aspect_ratio": {
                "height": 1398,
                "width": 1189
              }
            }
          ],
          "$type": "app.bsky.embed.images#view"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 0,
        "quote_count": 0,
        "indexed_at": "2026-04-09T03:53:56.663Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {},
      "$type": "app.bsky.feed.defs#threadViewPost"
    },
    {
      "post": {
        "uri": "at://did:plc:acpsud774ipuhbp4zgwuu6qm/app.bsky.feed.post/3miztng2vrs25",
        "cid": "bafyreidsdjdb6g6gklmr2yb4j74ef46zgm7pkujbnlk4nuqjyj5nzidm2m",
        "author": {
          "did": "did:plc:acpsud774ipuhbp4zgwuu6qm",
          "handle": "parkerdw.bsky.social",
          "display_name": "Liberal in Virginia",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:acpsud774ipuhbp4zgwuu6qm/bafkreib6y2ku7l4e4h4vti43esffza6lritbfu354m54ciumegl3esx4tm",
          "associated": {
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2024-11-11T18:24:31.684Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T03:13:32.812Z",
          "facets": [
            {
              "features": [
                {
                  "$type": "app.bsky.richtext.facet#tag",
                  "tag": "GodSquad"
                }
              ],
              "index": {
                "byte_end": 43,
                "byte_start": 34
              }
            }
          ],
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "Daywalker here. Have a good show. #GodSquad 👍"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 1,
        "quote_count": 0,
        "indexed_at": "2026-04-09T03:13:33.457Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {},
      "$type": "app.bsky.feed.defs#threadViewPost"
    },
    {
      "post": {
        "uri": "at://did:plc:7tjwpi3eetrdg4kzx2e4fh5u/app.bsky.feed.post/3mizvph4dls2c",
        "cid": "bafyreiecnm25ep3ctjrbop36dexmjowx75mqip2bwxutihkvxaqxdktf3u",
        "author": {
          "did": "did:plc:7tjwpi3eetrdg4kzx2e4fh5u",
          "handle": "sweeneyb1.bsky.social",
          "display_name": "Bridget Sweeney",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:7tjwpi3eetrdg4kzx2e4fh5u/bafkreic73qn4kjc7fghsoniy5chqbl3azzow55ws5icwsdafoq6xlxu6pm",
          "associated": {
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2024-11-15T03:32:17.236Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T03:50:28.498Z",
          "facets": [
            {
              "$type": "app.bsky.richtext.facet",
              "features": [
                {
                  "$type": "app.bsky.richtext.facet#mention",
                  "did": "did:plc:aslw5awiodzplmvzhbysxuwp"
                }
              ],
              "index": {
                "byte_end": 51,
                "byte_start": 25
              }
            }
          ],
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "Thank you taking my call @johnfugelsang.bsky.social, I appreciate it whenever I speak to you on the air!!!"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 0,
        "quote_count": 0,
        "indexed_at": "2026-04-09T03:50:29.156Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {},
      "$type": "app.bsky.feed.defs#threadViewPost"
    },
    {
      "post": {
        "uri": "at://did:plc:6rlyfvp6mowh4egtsb6sff23/app.bsky.feed.post/3mizu4ghjmc2h",
        "cid": "bafyreih3xjcqjytxzzvoayfmges4i2nuavsdqutzrztpdj52swsbov6gy4",
        "author": {
          "did": "did:plc:6rlyfvp6mowh4egtsb6sff23",
          "handle": "thesnarkwingduck.bsky.social",
          "display_name": "Snarkwing Duck",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:6rlyfvp6mowh4egtsb6sff23/bafkreiektnawopqha53slmcte3n2wna4a2jnxaolglnac35o6gl7z3yuty",
          "associated": {
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2025-04-13T14:58:00.272Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T03:21:56.542Z",
          "embed": {
            "$type": "app.bsky.embed.external",
            "external": {
              "description": "ALT: two men in military uniforms are looking at a piece of paper with a skull on it",
              "thumb": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreiajerqhk4t2bkalxbvmlqw6wnd3jxenyt6htqhdbenbeg7hnhtwyq"
                },
                "mime_type": "image/jpeg",
                "size": 489693
              },
              "title": "two men in military uniforms are looking at a piece of paper with a skull on it",
              "uri": "https://media.tenor.com/qzQXDDAXQv0AAAAC/chaplin-lick.gif?hh=322&ww=482"
            }
          },
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "The estate of Charlie Chaplin writes the family lawyer..."
        },
        "embed": {
          "external": {
            "uri": "https://media.tenor.com/qzQXDDAXQv0AAAAC/chaplin-lick.gif?hh=322&ww=482",
            "title": "two men in military uniforms are looking at a piece of paper with a skull on it",
            "description": "ALT: two men in military uniforms are looking at a piece of paper with a skull on it",
            "thumb": "https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:6rlyfvp6mowh4egtsb6sff23/bafkreiajerqhk4t2bkalxbvmlqw6wnd3jxenyt6htqhdbenbeg7hnhtwyq"
          },
          "$type": "app.bsky.embed.external#view"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 0,
        "quote_count": 0,
        "indexed_at": "2026-04-09T03:21:58.849Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {},
      "$type": "app.bsky.feed.defs#threadViewPost"
    },
    {
      "post": {
        "uri": "at://did:plc:5725hfzrxdolpymqphs2qlrk/app.bsky.feed.post/3miztkrlymk2y",
        "cid": "bafyreidny5djznekuhc3xnjlzbup4vwru2oebeukcthblvpvwi7tn52esi",
        "author": {
          "did": "did:plc:5725hfzrxdolpymqphs2qlrk",
          "handle": "onlylovecanfill.bsky.social",
          "display_name": "",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:5725hfzrxdolpymqphs2qlrk/bafkreig6ivv6vdz6sadhjm7yryfip6e7fqzlkjymcvospezwg45arjd3uy",
          "associated": {
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2025-02-06T04:27:14.845Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T03:12:04.243Z",
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "Reading your book now, getting some fine points together to call out the false idol worshipping nut jobs"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 3,
        "quote_count": 0,
        "indexed_at": "2026-04-09T03:12:04.557Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {},
      "$type": "app.bsky.feed.defs#threadViewPost"
    },
    {
      "post": {
        "uri": "at://did:plc:27liz4zrbm3ee7pdtjms6jhz/app.bsky.feed.post/3miztcuoyzs2j",
        "cid": "bafyreicyknib257v7cjcyzgtf5jlllqiqogprhsst4nrnxlcubeu2t766i",
        "author": {
          "did": "did:plc:27liz4zrbm3ee7pdtjms6jhz",
          "handle": "sueric.bsky.social",
          "display_name": "Tooey",
          "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:27liz4zrbm3ee7pdtjms6jhz/bafkreic7nijkie5pdq56yqfrufjdjzhs5b5e5didny3wtskhj6jxlvo4ni",
          "associated": {
            "activity_subscription": {
              "allow_subscriptions": "followers"
            }
          },
          "labels": [],
          "created_at": "2024-11-10T23:50:50.687Z"
        },
        "record": {
          "$type": "app.bsky.feed.post",
          "created_at": "2026-04-09T03:07:39.052Z",
          "langs": [
            "en"
          ],
          "reply": {
            "parent": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            },
            "root": {
              "cid": "bafyreih5p4xn6qzs33kvfipex74hu6runpsi63yormxz556mb7qrju7mq4",
              "uri": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.post/3miztbkg7xs24"
            }
          },
          "text": "Love your show, John!"
        },
        "bookmark_count": 0,
        "reply_count": 0,
        "repost_count": 0,
        "like_count": 4,
        "quote_count": 0,
        "indexed_at": "2026-04-09T03:07:39.549Z",
        "labels": []
      },
      "replies": [],
      "thread_context": {
        "root_author_like": "at://did:plc:aslw5awiodzplmvzhbysxuwp/app.bsky.feed.like/3miztmxmkhw2k"
      },
      "$type": "app.bsky.feed.defs#threadViewPost"
    }
  ]
}
]
```

The scraper returns detailed post data with each field providing specific analytical value:

- **URI**: Unique resource identifier for the post in AT Protocol format. *Critical for post tracking, deduplication, and building relational databases linking posts, replies, and conversations.*

- **CID**: Content identifier hash unique to this specific post version. *Enables verification of content authenticity, tracking edits or changes, and ensuring data integrity in decentralized systems.*

- **Author**: Complete author information including handle, display name, and profile details. *Essential for influencer identification, author analysis, tracking account behavior, and building author-based segmentation.*

- **Record**: Full post content record including text, timestamps, and metadata. *Provides the complete post data structure for text analysis, sentiment tracking, and content categorization.*

- **Embed**: Embedded content within the post (images, videos, links, quoted posts). *Critical for understanding content types, visual content analysis, link tracking, and identifying viral content patterns.*

- **Bookmark Count**: Number of times the post has been bookmarked. *Indicates content value and saveability, useful for identifying evergreen or reference content.*

- **Reply Count**: Number of direct replies to the post. *Measures conversation engagement, indicates controversial or discussion-worthy content, and helps identify active community discussions.*

- **Repost Count**: Number of times the post has been reposted (similar to retweets). *Primary virality metric showing content amplification and reach extension beyond original followers.*

- **Like Count**: Number of likes/favorites the post has received. *Core engagement metric indicating content resonance and audience approval.*

- **Quote Count**: Number of times the post has been quoted with commentary. *Indicates thoughtful engagement and content that sparks discussion or debate.*

- **Indexed At**: Timestamp when the post was indexed in the system. *Enables temporal analysis, trend tracking, and time-series engagement studies.*

- **Labels**: Content labels or moderation tags applied to the post. *Important for content safety analysis, topic categorization, and understanding platform moderation patterns.*

- **Replies**: Complete reply thread data including nested conversations. *Enables conversation analysis, sentiment tracking in discussions, identifying engaged users, and understanding audience reactions.*

Each field serves specific purposes in social media analytics, brand monitoring, influencer research, content strategy optimization, and understanding decentralized social platform dynamics.

### Usage Guide

#### Setting Up Post Extraction

**Step 1: Collect Target Post URLs**

Navigate to Bluesky and identify posts you want to analyze:

- Brand mentions or product discussions
- Viral or trending content in your industry
- Competitor posts and announcements
- Influencer content and campaigns
- Community discussions or hashtag threads

Copy the complete URL of each post from your browser.

**Step 2: Build Your URL List**

Add URLs to your configuration:

- Individual posts for specific analysis
- Multiple posts from a campaign for performance tracking
- Conversation threads for sentiment analysis
- Competitor content for benchmarking
- Trending posts for trend analysis

**Step 3: Configure Error Handling**

Enable `ignore_url_failures` (recommended) to ensure:

- Deleted posts don't stop your scraping job
- Private or restricted content is skipped automatically
- Network issues don't halt entire data collection
- You get maximum data even when some URLs fail

#### Best Practices

**URL Collection:**

- Verify URLs are complete and properly formatted
- Check if posts are public and accessible
- Organize URLs by campaign, topic, or analysis type
- Track URL sources for data provenance

**Data Analysis Strategy:**

**Engagement Analysis:**

- Compare like, repost, and reply counts to identify engagement patterns
- Calculate engagement rates using author follower data
- Track quote counts for controversial or thought-provoking content
- Monitor bookmark counts for valuable reference content

**Conversation Mining:**

- Extract reply threads for sentiment analysis
- Identify key participants in conversations
- Track conversation velocity and decay
- Analyze reply patterns and community dynamics

**Content Strategy:**

- Identify high-performing content types through embed analysis
- Track posting times and engagement correlations
- Analyze which topics drive the most interaction
- Benchmark your content against industry leaders

**Temporal Analysis:**

- Track engagement growth over time using indexed\_at
- Identify optimal posting times
- Monitor viral content spread patterns
- Analyze engagement decay rates

#### Common Use Cases

**Brand Monitoring:**

- Track brand mentions and sentiment
- Monitor customer feedback and concerns
- Identify brand advocates and detractors
- Measure brand campaign performance

**Competitive Intelligence:**

- Analyze competitor content performance
- Track competitor engagement trends
- Identify successful content strategies
- Benchmark your performance against competitors

**Influencer Research:**

- Identify high-engagement accounts in your niche
- Track influencer content performance
- Analyze audience engagement patterns
- Evaluate potential partnership opportunities

**Trend Analysis:**

- Identify emerging topics and conversations
- Track hashtag performance
- Monitor viral content patterns
- Understand platform-wide trends

**Content Optimization:**

- Analyze what content types perform best
- Identify optimal posting strategies
- Test different content formats
- Refine messaging based on engagement data

#### Troubleshooting

**URL Access Issues:**

- Verify posts are public and not deleted
- Check URL formatting is correct
- Ensure posts haven't been restricted
- Confirm account hasn't been suspended

**Missing Data:**

- Some fields may be null for certain post types
- Deleted replies won't appear in conversation threads
- Private accounts may limit accessible data
- Platform API changes may affect data availability

### Benefits and Applications

**Social Media Analytics:** Build comprehensive engagement databases, track post performance over time, identify content patterns that drive engagement, measure campaign ROI through detailed metrics.

**Brand Management:** Monitor brand mentions and sentiment in real-time, identify customer issues and feedback, track crisis communications effectiveness, measure brand awareness and reach.

**Competitive Analysis:** Benchmark content performance against competitors, identify successful competitor strategies, track competitor audience engagement, discover market gaps and opportunities.

**Research & Insights:** Study decentralized social platform dynamics, analyze conversation patterns and community behavior, understand content virality mechanisms, track platform adoption and growth trends.

**The scraper provides advantages through:**

- Complete engagement metrics unavailable in platform UI
- Conversation thread extraction for deep sentiment analysis
- Author data enabling influencer identification
- Embedded content tracking for multimedia analysis
- Temporal data supporting time-series analysis
- Scalable data collection across multiple posts

The structured output integrates with analytics platforms, sentiment analysis tools, CRM systems, and business intelligence dashboards, enabling immediate activation for social listening, brand monitoring, and strategic content planning.

### Conclusion

The Bluesky Post Details Scraper transforms manual social media tracking into automated data collection. By providing structured access to comprehensive post-level data from the growing Bluesky platform, it empowers brands, researchers, and marketers to make data-driven decisions about content strategy, brand positioning, and audience engagement.

Whether you're monitoring brand mentions, analyzing content performance, conducting social research, or tracking competitive activity, this scraper provides the detailed extraction capabilities needed for actionable social media intelligence.

Ready to unlock Bluesky social insights? Start extracting comprehensive post data today and transform your social media analytics capabilities.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Bluesky Post Details Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Specific post Urls you want to scrape. You can paste Urls one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

Ignore URLs that fail to load

## Actor input object example

```json
{
  "urls": [
    "https://bsky.app/profile/contemprainn.bsky.social/post/3mizlvoqbvc2y"
  ],
  "ignore_url_failures": true
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://bsky.app/profile/contemprainn.bsky.social/post/3mizlvoqbvc2y"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/bluesky-post-details-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://bsky.app/profile/contemprainn.bsky.social/post/3mizlvoqbvc2y"],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/bluesky-post-details-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://bsky.app/profile/contemprainn.bsky.social/post/3mizlvoqbvc2y"
  ],
  "ignore_url_failures": true
}' |
apify call ecomscrape/bluesky-post-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ecomscrape/bluesky-post-details-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Bluesky Post Details Scraper",
        "description": "Bluesky Post Details Scraper automates extraction of comprehensive post data including engagement metrics, author information, embedded content, and conversation threads. Efficiently collect social media intelligence from the decentralized Bluesky platform for brand monitoring, trend analysis.",
        "version": "0.0",
        "x-build-id": "2LyJIhPqKogqmXygI"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/ecomscrape~bluesky-post-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-ecomscrape-bluesky-post-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/ecomscrape~bluesky-post-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-ecomscrape-bluesky-post-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/ecomscrape~bluesky-post-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-ecomscrape-bluesky-post-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs list of the Specific post to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Specific post Urls you want to scrape. You can paste Urls one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Ignore URLs that fail to load",
                        "type": "boolean",
                        "description": "Ignore URLs that fail to load"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
