Facebook 公开小组帖子与完整照片集抓取
Pricing
from $2.49 / 1,000 facebook 小组帖子
Go to Apify Store
Facebook 公开小组帖子与完整照片集抓取
抓取 Facebook 公开小组的最新与历史帖子,输出机器可读的 JSON 数据:正文、发布时间、作者、互动数据、稳定帖子链接,以及全部可获取的照片链接(含隐藏的 +N 照片集)。支持 Apify API、MCP、日常监控与历史回填。
Facebook 公开小组帖子与完整照片集抓取
Pricing
from $2.49 / 1,000 facebook 小组帖子
抓取 Facebook 公开小组的最新与历史帖子,输出机器可读的 JSON 数据:正文、发布时间、作者、互动数据、稳定帖子链接,以及全部可获取的照片链接(含隐藏的 +N 照片集)。支持 Apify API、MCP、日常监控与历史回填。
You can access the Facebook 公开小组帖子与完整照片集抓取 programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "fKKImxyq2MlW90aoN" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/spbotdel~facebook-group-posts-cn/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-spbotdel-facebook-group-posts-cn", "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/spbotdel~facebook-group-posts-cn/runs": { "post": { "operationId": "runs-sync-spbotdel-facebook-group-posts-cn", "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/spbotdel~facebook-group-posts-cn/run-sync": { "post": { "operationId": "run-sync-spbotdel-facebook-group-posts-cn", "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": [ "groupUrls" ], "properties": { "groupUrls": { "title": "小组链接", "type": "array", "description": "必填。Facebook 公开小组的链接、自定义链接或数字 ID。请只填写小组链接,不要填写帖子链接、Marketplace 链接或私密/需登录的小组。一次运行最多处理 maxGroupsPerRun 个小组。", "items": { "type": "string" } }, "maxGroupsPerRun": { "title": "每次运行的小组数量", "minimum": 1, "maximum": 10, "type": "integer", "description": "一次运行中最多处理的小组数量。结果和计费按小组倍增。多余的小组链接将被跳过,并列在 SUMMARY.skippedGroupUrls 中。", "default": 10 }, "maxPostsPerGroup": { "title": "每个小组的最大帖子数", "minimum": 1, "maximum": 1000, "type": "integer", "description": "每个小组返回的最大帖子结果数。每个帖子为一个计费结果:10 个小组 x 1,000 个帖子约为 10,000 个计费结果。深度历史回填一次最多取 1,000 条,保存 SUMMARY.pointer.nextCursor,再用 startCursor 继续。", "default": 30 }, "sortMode": { "title": "排序方式", "enum": [ "CHRONOLOGICAL", "RECENT_ACTIVITY", "TOP_POSTS" ], "type": "string", "description": "小组动态的排序方式。「最新优先」最适合采集最新帖子与日常监控。", "default": "CHRONOLOGICAL" }, "expandAllPhotos": { "title": "展开全部照片", "type": "boolean", "description": "尽力还原藏在 Facebook +N 缩略图后面的照片链接。建议保持开启以获得完整数据;仅在快速预览时关闭。", "default": true }, "includeRawPayload": { "title": "包含原始数据", "type": "boolean", "description": "在每条结果中附带解析后的 Facebook 原始数据。便于调试,但会让输出大很多。", "default": false }, "onlyPostsNewerThan": { "title": "仅采集此日期之后的帖子", "type": "string", "description": "规范日期下边界(含)的 [onlyPostsNewerThan, onlyPostsOlderThan) 窗口。返回在此 Facebook 时间戳或之后发布的帖子。使用“最新优先”排序时,Actor 在遇到更旧帖子后停止。最适合增量监控;与 onlyPostsOlderThan 配合可精确收集时间段。" }, "onlyPostsOlderThan": { "title": "仅采集此日期之前的帖子", "type": "string", "description": "规范日期上边界(不含)的 [onlyPostsNewerThan, onlyPostsOlderThan) 窗口。跳过在此 Facebook 时间戳或之后发布的帖子,并继续向更早历史推进。与 onlyPostsNewerThan 结合可收集特定时间段。" }, "knownPostIds": { "title": "已知帖子 ID", "type": "array", "description": "你的系统里已存的帖子 ID。配合「最新优先」排序,遇到其中之一即停止,最适合每日监控。 状态路由:每日最新监控 -> knownPostIds;较旧帖子回填 -> 从 SUMMARY.pointer.nextCursor 获取 startCursor;多组回填 -> startCursorsByGroup;已存储的流水线状态 -> checkpoint。切勿将回填游标传入最新运行。", "items": { "type": "string" } }, "checkpoint": { "title": "检查点", "type": "object", "description": "上一次 SUMMARY 中的 checkpoint 对象。在你的系统保存运行状态时,用于增量监控或按小组续采。 状态路由:每日最新监控 -> knownPostIds;较旧帖子回填 -> 从 SUMMARY.pointer.nextCursor 获取 startCursor;多组回填 -> startCursorsByGroup;已存储的流水线状态 -> checkpoint。切勿将回填游标传入最新运行。" }, "startCursor": { "title": "起始游标", "type": "string", "description": "SUMMARY.pointer.nextCursor 中的游标。仅用于回填更早的历史帖子,不要拿昨天的游标来采新帖子。 状态路由:每日最新监控 -> knownPostIds;较旧帖子回填 -> 从 SUMMARY.pointer.nextCursor 获取 startCursor;多组回填 -> startCursorsByGroup;已存储的流水线状态 -> checkpoint。切勿将回填游标传入最新运行。" }, "startCursorsByGroup": { "title": "按小组指定游标", "type": "object", "description": "可选:小组链接到 GraphQL 游标的映射,用于多小组运行中回填更早页面。优先直接传上一次的 SUMMARY/checkpoint。 状态路由:每日最新监控 -> knownPostIds;较旧帖子回填 -> 从 SUMMARY.pointer.nextCursor 获取 startCursor;多组回填 -> startCursorsByGroup;已存储的流水线状态 -> checkpoint。切勿将回填游标传入最新运行。" }, "paginationMode": { "title": "翻页模式", "enum": [ "ranked_snapshot", "cursor_page" ], "type": "string", "description": "Ranked 快照先收集候选帖子再按发布时间本地排序;游标翻页保持动态顺序并给出 next 指针,更适合监控与回填。", "default": "ranked_snapshot" }, "maxCandidates": { "title": "候选帖子上限", "minimum": 0, "maximum": 3000, "type": "integer", "description": "本地排序前收集的候选帖子。保留 0 以使用自动预算(约为 maxPostsPerGroup 的 3 倍,最低 +20)。仅在 SUMMARY 报告 candidate_limit_reached 且帖子缺失时提高。", "default": 0 }, "maxPages": { "title": "GraphQL 最大页数", "minimum": 0, "maximum": 500, "type": "integer", "description": "公共小组初始化之后的最大 GraphQL 翻页请求数。保留 0 以使用自动预算(约为 maxPostsPerGroup 的 0.85 倍,最低 20)。仅在 SUMMARY 报告页面上限且帖子缺失时提高。", "default": 0 }, "bootstrapRetries": { "title": "初始化重试", "minimum": 1, "maximum": 10, "type": "integer", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 若 Facebook 返回异常页面或登录墙,用全新代理/会话重新初始化小组主页的尝试次数。", "default": 4 }, "graphqlPageRetries": { "title": "翻页重试", "minimum": 0, "maximum": 5, "type": "integer", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 遇到临时性空白或过小的 GraphQL 分页响应时的重试次数。", "default": 2 }, "proxyCountry": { "title": "代理国家", "type": "string", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 Apify 代理的国家代码。", "default": "US" }, "mediaSetRetries": { "title": "照片集重试", "minimum": 0, "maximum": 5, "type": "integer", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 每个 Facebook media/set 请求的重试次数。", "default": 1 }, "mediaSetRetryDelayMs": { "title": "照片集重试间隔", "minimum": 0, "maximum": 10000, "type": "integer", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 media/set 重试的基础等待时间。", "default": 800 }, "mediaExpansionConcurrency": { "title": "照片展开并发", "minimum": 1, "maximum": 10, "type": "integer", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 同时展开 Facebook media/set 页面的帖子数。数值越大完整照片采集越快,但临时性失败也可能增多。", "default": 3 }, "mediaExpansionAdaptive": { "title": "自适应照片展开", "type": "boolean", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 开启后,若近期 media/set 展开质量下降,Actor 会自动把过高的展开并发降回稳定水平。", "default": true }, "mediaDeferredRetry": { "title": "延迟照片补采", "type": "boolean", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 主流程结束后、输出前,仅对可疑的照片集行再补采一次。小幅增加运行时间,换来更高的 +N 覆盖率。", "default": true }, "mediaDeferredRetryConcurrency": { "title": "补采并发", "minimum": 1, "maximum": 5, "type": "integer", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 延迟补采阶段同时重试的可疑帖子数。", "default": 2 }, "mediaDeferredRetryExtraRetries": { "title": "补采追加次数", "minimum": 0, "maximum": 5, "type": "integer", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 延迟补采阶段对可疑 media/set 行的追加重试次数。", "default": 2 }, "mediaDeferredRetryDelayMs": { "title": "补采等待时间", "minimum": 0, "maximum": 20000, "type": "integer", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 延迟补采的基础等待时间。", "default": 1500 }, "debug": { "title": "调试输出", "type": "boolean", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 在 SUMMARY 中附带响应样本与发现过程细节。日常生产运行请保持关闭。", "default": false }, "discoverBundles": { "title": "从 JS 包中发现 doc_id", "type": "boolean", "description": "高级。保持默认值,除非 SUMMARY 诊断明确指出此开关。 下载 Facebook JS 包以发现最新的 GraphQL doc_id,会多耗流量;备用 doc_id 反正都会试一遍。", "default": false } } }, "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Facebook 公开小组帖子与完整照片集抓取 from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: