Facebook Page Reviews are handled through an async import flow. You queue an import, poll status, then work with normalized review records in our API.Documentation Index
Fetch the complete documentation index at: https://info.bundle.social/llms.txt
Use this file to discover all available pages before exploring further.
Facebook calls Page reviews recommendations in parts of its API. That is why these endpoints use
/recommendations, even though this guide calls the feature Facebook Page Reviews.How it works
This is an asynchronous job, same idea as Google Business Reviews:- Start: Trigger an import (“Fetch 50 reviews for this Page”).
- Wait: We fetch from Facebook and process the batch.
- Poll: Check import status.
- Fetch: Read imported reviews from the recommendations endpoint.
- Reply: Reply to the review or to comments inside the recommendation thread.
Step 1: Start the Import
Endpoint:POST /api/v1/misc/facebook/recommendations/import
Rules & Limits
countrange:1-100per request.- One active import per social account: if one is already running or recently completed, you’ll get
409. - Monthly limit per social account (default):
- Free: 5 reviews / month
- Pro: 100 reviews / month
- Business: 250 reviews / month
These are defaults. Organizations can have custom review-import limits configured.
Step 2: Check Import Status
Endpoints:GET /api/v1/misc/facebook/recommendations/import?teamId=team_123GET /api/v1/misc/facebook/recommendations/import/:importId
Statuses
PENDING: Waiting in queue.FETCHING_RECOMMENDATIONS: Import is running.COMPLETED: Finished.FAILED: Import failed after retries.RATE_LIMITED: Temporarily paused due to API/rate pressure; resumes automatically afterrateLimitResetAt.
Step 3: Fetch Imported Reviews
Endpoints:GET /api/v1/misc/facebook/recommendations?teamId=team_123&limit=50&offset=0GET /api/v1/misc/facebook/recommendations/:recommendationId?teamId=team_123
Query Parameters (GET /recommendations)
| Parameter | Type | Default | Description |
|---|---|---|---|
teamId | string | required | Team ID |
limit | number | 50 | Page size (1-100) |
offset | number | 0 | Pagination offset |
recommendationValue values: RECOMMEND, NOT_RECOMMEND, UNKNOWN.
limit in this response is your monthly import cap for that social account (not the page size).
Step 4: Reply to Reviews
Reply to a Review
Endpoint:PUT /api/v1/misc/facebook/recommendations/:recommendationId/reply
comment length: 1-4096 chars.
This creates a Facebook comment on the Page review story and stores it as ownerReplyComment.
Fetch Thread Comments
Endpoint:GET /api/v1/misc/facebook/recommendations/:recommendationId/comments?teamId=team_123
Reply to a Thread Comment
Endpoint:PUT /api/v1/misc/facebook/recommendations/:recommendationId/comments/:commentId/reply
Quirks & Gotchas
Reviews Are Recommendations
Facebook’s native model is recommendation-based, not star-review-based. Some records may haverating: null; use recommendationValue as the primary signal.
Some Reviews Cannot Be Replied To
Replies requireopenGraphStoryId. If Facebook does not expose it for a review, reply and thread endpoints return an error instead of pretending the action worked.
Incremental Sync
Re-running imports is safe. Reviews are upserted by external recommendation ID, so existing records are updated instead of duplicated.Temporary RATE_LIMITED Is Normal
When Facebook slows things down, imports switch to RATE_LIMITED and auto-resume. No manual retry endpoint needed for this path.
Capacity Is Per Social Account
remainingCapacity is calculated per connected Facebook social account, not globally across all accounts.