{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Scraper: Pages, Posts, Reels, Comments & Marketplace",
    "description": "Public Facebook data without login: pages with contact details, posts, reels with captions, comments, Marketplace listings, groups and events. Low flat prices, free filters, monitoring mode and a coverage report for every input.",
    "version": "0.1",
    "x-build-id": "mji5swar0HLaUyrcM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abdelrahman12_3~facebook-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abdelrahman12_3-facebook-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/abdelrahman12_3~facebook-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abdelrahman12_3-facebook-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/abdelrahman12_3~facebook-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abdelrahman12_3-facebook-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",
        "required": [
          "targets"
        ],
        "properties": {
          "targets": {
            "title": "What to scrape",
            "minItems": 1,
            "type": "array",
            "description": "One per line (or several separated by commas). Accepts page names (NASA or @NASA), page links, profile.php?id= links, post links (/posts/, permalink.php, story_fbid), share links (/share/…, fb.watch), reel, video and photo links, public group links, event links, Marketplace search links (filters in the link are kept) and Marketplace item links. For a Marketplace search without a link, write marketplace: iphone 13 in London. Duplicates are scraped once.",
            "items": {
              "type": "string"
            }
          },
          "pageDetails": {
            "title": "Page details",
            "type": "boolean",
            "description": "Name, exact follower count, category, bio, email, phone, websites, address, verified badge and pictures for each page.",
            "default": true
          },
          "pagePosts": {
            "title": "Page posts",
            "type": "boolean",
            "description": "The page's posts, newest first, including reels, videos and photo posts. Use the date filters to reach older posts directly.",
            "default": true
          },
          "pageTransparency": {
            "title": "Page transparency (extra)",
            "type": "boolean",
            "description": "Creation date, whether the page is running ads now, and the confirmed owner. Charged as an extra event per page. With Page details off, only the transparency event is charged.",
            "default": false
          },
          "comments": {
            "title": "Comments",
            "type": "boolean",
            "description": "Comments on every delivered post (page posts, single post and reel links, group posts). Charged per comment.",
            "default": false
          },
          "commentsSort": {
            "title": "Comment order",
            "enum": [
              "relevant",
              "newest",
              "all"
            ],
            "type": "string",
            "description": "The same choices Facebook offers under a post.",
            "default": "relevant"
          },
          "maxCommentsPerPost": {
            "title": "Max comments per post",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Replies count towards this limit too.",
            "default": 50
          },
          "includeReplies": {
            "title": "Include replies",
            "type": "boolean",
            "description": "Also collect replies to comments (one level deep).",
            "default": false
          },
          "marketplaceLocation": {
            "title": "Marketplace location",
            "type": "string",
            "description": "City for Marketplace searches written as text (for example London, New York, Cairo, Dubai) or coordinates (51.5072, -0.1276). Small typos are fine. Not needed when you paste a Marketplace link or write marketplace: bike in London."
          },
          "marketplaceRadiusKm": {
            "title": "Search radius (km)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Distance around the location.",
            "default": 65
          },
          "marketplaceMinPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "In the local currency."
          },
          "marketplaceMaxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "In the local currency."
          },
          "marketplaceSort": {
            "title": "Sort by",
            "enum": [
              "best",
              "newest",
              "price_asc",
              "price_desc",
              "distance"
            ],
            "type": "string",
            "description": "Monitoring always uses Newest first.",
            "default": "best"
          },
          "marketplaceDaysSinceListed": {
            "title": "Listed in the last (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Facebook's own choices are 1, 7 and 30. Leave empty for any time."
          },
          "marketplaceCondition": {
            "title": "Condition",
            "type": "array",
            "description": "Leave empty for any condition.",
            "items": {
              "type": "string",
              "enum": [
                "new",
                "used_like_new",
                "used_good",
                "used_fair"
              ],
              "enumTitles": [
                "New",
                "Used – like new",
                "Used – good",
                "Used – fair"
              ]
            },
            "default": []
          },
          "listingDetails": {
            "title": "Listing details (extra)",
            "type": "boolean",
            "description": "Opens each listing found by a search for its description, condition and attributes. Charged as an extra event per listing. Listing links in What to scrape always get details.",
            "default": false
          },
          "skipSold": {
            "title": "Skip sold and pending listings",
            "type": "boolean",
            "description": "Listings marked sold or pending are left out (and never charged).",
            "default": true
          },
          "groupSort": {
            "title": "Group post order",
            "enum": [
              "chronological",
              "top",
              "activity"
            ],
            "type": "string",
            "description": "For public group links.",
            "default": "chronological"
          },
          "newerThan": {
            "title": "Posts newer than",
            "type": "string",
            "description": "Only posts from this date on. Pick a date, or switch to relative for values like 7 days or 3 months. Applied by Facebook itself for page posts, so older posts are never downloaded. Free."
          },
          "olderThan": {
            "title": "Posts older than",
            "type": "string",
            "description": "Only posts before this date. Page posts jump straight to this date, so this reaches years-old posts without scrolling through newer ones."
          },
          "minReactions": {
            "title": "Minimum reactions",
            "minimum": 0,
            "type": "integer",
            "description": "Posts with fewer reactions, or an unknown count, are left out."
          },
          "minComments": {
            "title": "Minimum comments",
            "minimum": 0,
            "type": "integer",
            "description": "Posts with fewer comments, or an unknown count, are left out."
          },
          "minShares": {
            "title": "Minimum shares",
            "minimum": 0,
            "type": "integer",
            "description": "Posts with fewer shares, or an unknown count, are left out."
          },
          "minViews": {
            "title": "Minimum views",
            "minimum": 0,
            "type": "integer",
            "description": "Applies to videos and reels."
          },
          "postTypes": {
            "title": "Post types",
            "type": "array",
            "description": "Leave empty for all types.",
            "items": {
              "type": "string",
              "enum": [
                "status",
                "photo",
                "album",
                "video",
                "reel",
                "link",
                "event",
                "shared"
              ],
              "enumTitles": [
                "Text only",
                "Photo",
                "Album",
                "Video",
                "Reel",
                "Link",
                "Event",
                "Shared post"
              ]
            },
            "default": []
          },
          "maxItemsPerTarget": {
            "title": "Max items per input",
            "minimum": 1,
            "type": "integer",
            "description": "Posts or listings per input. Pages, comments, groups and events are not counted.",
            "default": 50
          },
          "maxItems": {
            "title": "Max items per run",
            "minimum": 1,
            "type": "integer",
            "description": "Stop the whole run after this many posts and listings.",
            "default": 1000
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Turns on monitoring: the run returns only posts, listings and events this monitor has not delivered before, so you never pay twice. Page records are delivered once per monitor. Marketplace listings whose price changed come back once more, marked price_drop or price_rise. Use the same name on a scheduled task. Upper or lower case and extra spaces do not matter."
          },
          "trackPriceChanges": {
            "title": "Report price changes",
            "type": "boolean",
            "description": "In monitoring mode, deliver a known listing again when its price changes.",
            "default": true
          },
          "includeCommenterProfiles": {
            "title": "Include people's names",
            "type": "boolean",
            "description": "Off by default for privacy: commenters and group members get a stable anonymous ID instead of their name and profile link. Page names are always shown.",
            "default": false
          },
          "fieldCase": {
            "title": "Field names",
            "enum": [
              "camel",
              "snake"
            ],
            "type": "string",
            "description": "camelCase or snake_case keys.",
            "default": "camel"
          },
          "flatten": {
            "title": "Flat output",
            "type": "boolean",
            "description": "Turn nested objects into dotted keys (author.name). Handy for spreadsheets.",
            "default": false
          },
          "runTag": {
            "title": "Run tag",
            "type": "string",
            "description": "Free text copied onto every record, to label batches."
          },
          "saveMedia": {
            "title": "Save media files",
            "enum": [
              "none",
              "images",
              "all"
            ],
            "type": "string",
            "description": "Copies images (and optionally videos) of delivered posts into this run's storage before Facebook's links expire. Charged per file.",
            "default": "none"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Residential proxies are recommended; Facebook blocks many datacenter IPs.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "maxConcurrency": {
            "title": "Max parallel requests",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many requests run at the same time. Higher is faster but more likely to be blocked.",
            "default": 6
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute",
            "minimum": 5,
            "maximum": 600,
            "type": "integer",
            "description": "Upper limit on requests per minute across the whole run.",
            "default": 120
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}