{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Timeline Posts & Reel Transcript Extractor",
    "description": "Pull recent posts and Reels from a public Facebook Page or Profile, or fetch one post by its link, with text, reaction breakdown, comments, media, and real auto-generated video captions. No login or cookies required.",
    "version": "1.0",
    "x-build-id": "2UujWfpn7EOKxWDbO"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nimbryxo-studio~facebook-timeline-posts-and-reel-transcript/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nimbryxo-studio-facebook-timeline-posts-and-reel-transcript",
        "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/nimbryxo-studio~facebook-timeline-posts-and-reel-transcript/runs": {
      "post": {
        "operationId": "runs-sync-nimbryxo-studio-facebook-timeline-posts-and-reel-transcript",
        "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/nimbryxo-studio~facebook-timeline-posts-and-reel-transcript/run-sync": {
      "post": {
        "operationId": "run-sync-nimbryxo-studio-facebook-timeline-posts-and-reel-transcript",
        "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",
        "required": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "Facebook links",
            "type": "array",
            "description": "Mix any public Facebook links. A Page or Profile link (facebook.com/nike, profile.php?id=…, /people/…/…) returns its timeline posts. A post, reel, video, photo, watch, share (facebook.com/share/…, fb.watch/…), permalink.php, story.php or public group post link returns that single post. Group feeds, events, Marketplace and search pages are not supported.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL",
                  "description": "A Facebook Page, Profile, post, reel, video or share link."
                }
              }
            }
          },
          "maxItems": {
            "title": "Max posts per Page or Profile",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "How many posts to collect from each Page or Profile link, newest first. Posts removed by the filters below don't count. Single post links always return one post.",
            "default": 20
          },
          "onlyPostsNewerThan": {
            "title": "Only posts newer than",
            "type": "string",
            "description": "Page and Profile links only: keep posts published after this moment. Accepts a date (2026-01-01), a full ISO 8601 timestamp, or a relative period such as \"7 days\", \"2 weeks\", \"3 months\" or \"1 year\"."
          },
          "onlyPostsOlderThan": {
            "title": "Only posts older than",
            "type": "string",
            "description": "Page and Profile links only: keep posts published before this moment. Same formats as \"Only posts newer than\". Combine both for a date window."
          },
          "contentTypes": {
            "title": "Content types",
            "type": "array",
            "description": "Page and Profile links only: keep only these kinds of posts. Leave empty to keep everything. When matching posts are rare, the timeline scan stops after 20 × the post limit (at least 50) scanned posts and the run status says so.",
            "items": {
              "type": "string",
              "enum": [
                "text",
                "photo",
                "album",
                "video",
                "reel",
                "link",
                "share",
                "live"
              ],
              "enumTitles": [
                "Text only",
                "Single photo",
                "Photo album (several photos)",
                "Video",
                "Reel",
                "Link with preview",
                "Shared post",
                "Live video"
              ]
            },
            "default": []
          },
          "minReactions": {
            "title": "Minimum reactions",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Page and Profile links only: skip posts with fewer reactions than this."
          },
          "minComments": {
            "title": "Minimum comments",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Page and Profile links only: skip posts with fewer comments than this."
          },
          "includeTopComments": {
            "title": "Include top comments",
            "type": "boolean",
            "description": "Attach the comments Facebook shows under each post (about 1-10 per post) at no extra cost.",
            "default": true
          },
          "fetchAllComments": {
            "title": "Fetch all comments",
            "type": "boolean",
            "description": "Collect the full comment list of every post into allComments, up to the limit below. Adds a few requests per post.",
            "default": false
          },
          "maxCommentsPerPost": {
            "title": "Max comments per post",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Upper limit for allComments on each post. Replies count toward this limit when replies are included.",
            "default": 100
          },
          "commentsSortOrder": {
            "title": "Comment order",
            "enum": [
              "mostRelevant",
              "newest",
              "all"
            ],
            "type": "string",
            "description": "Order in which allComments are collected. \"Newest first\" is the best choice for monitoring recent discussion.",
            "default": "mostRelevant"
          },
          "onlyCommentsNewerThan": {
            "title": "Only comments newer than",
            "type": "string",
            "description": "Keep only comments posted after this moment in allComments: a date (2026-01-01), ISO timestamp, or period such as \"1 day\" or \"2 weeks\". Comments are then read newest first."
          },
          "includeCommentReplies": {
            "title": "Include replies",
            "type": "boolean",
            "description": "Add each comment's reply thread (including replies to replies) as a replies list inside the comment.",
            "default": false
          },
          "includeCommentReactions": {
            "title": "Reactions by type on comments",
            "type": "boolean",
            "description": "Add each comment's reactions split by type (Like, Love, Haha, …) with exact totals, also for busy comments Facebook shows as \"1.2K\". Adds one request per comment that has reactions.",
            "default": false
          },
          "fetchVideoCaptions": {
            "title": "Fetch video transcripts",
            "type": "boolean",
            "description": "For videos and reels that have captions, download Facebook's own caption file and add it as a transcript (SRT text plus plain text). These are Facebook's captions, not independent speech-to-text.",
            "default": false
          },
          "fetchReelDetails": {
            "title": "Reel audio and remix details",
            "type": "boolean",
            "description": "For reels, add the audio track (title, original audio or song, album art) and whether the reel can be remixed. Adds one request per reel.",
            "default": false
          },
          "fetchSharedPostDetails": {
            "title": "Original text of shared posts",
            "type": "boolean",
            "description": "For posts that re-share another post, add the original post's text, type and counters to sharedPost. Adds one request per shared post.",
            "default": false
          },
          "fetchAllAlbumPhotos": {
            "title": "Fetch every album photo",
            "type": "boolean",
            "description": "The timeline shows at most five photos of an album post. Turn this on to list every photo of the album.",
            "default": false
          },
          "rehostMedia": {
            "title": "Keep permanent media copies",
            "enum": [
              "images",
              "imagesAndVideos",
              "none"
            ],
            "type": "string",
            "description": "Facebook's media links stop working after a few days. Copies are stored with this run and keep working; the original link stays in the matching …Original field.",
            "default": "images"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}