Facebook Page API Permissions: Why pages_manage_posts and pages_read_engagement Require App Review (2026)
Social media schedulers, agency dashboards, and page analytics tools all need Facebook Page API permissions. Every one of them hits the same wall: App Review.
If you are building an app that publishes posts, reads engagement data, or moderates comments on Facebook Pages you do not personally own, you need a set of permissions that Meta will not grant by default.
The core Facebook Page API permissions — pages_manage_posts, pages_read_engagement, pages_show_list, and others in the cluster — all require a full Facebook App Review before your app can use them on real client Pages.
Standard Access works temporarily while you test with Pages your own test users administer. The moment your app needs to access or manage a Page that belongs to a client or subscriber, every permission needs Advanced Access — and Advanced Access means passing App Review.
The Facebook Page API permission cluster
pages_manage_posts
Required to publish, edit, schedule, and delete posts on a Page. The core permission for any social media publishing tool. Without it, your app can only read — it cannot post on behalf of a Page.
pages_read_engagement
Provides access to Page likes, followers, tagged posts, and post-level engagement metrics. Required for analytics dashboards and reporting tools. Often bundled with pages_manage_posts but reviewed separately.
pages_show_list
Returns the list of Pages a user manages. Needed for any app that lets users connect multiple Pages. Without it, the app cannot discover which Pages the authenticated user has admin access to.
pages_manage_engagement
Required to like, comment, reply to, hide, or delete comments and posts on a Page. Essential for community management tools and inbox moderation features. Chatbot and automation tools need messaging permissions approved to run on Messenger, and our Facebook Messenger bot App Review guide explains why bots get rejected or restricted.
pages_read_user_content
Allows reading of visitor-generated content — posts by the public, comments from followers. Needed for sentiment analysis tools, social inbox platforms, and moderation flows.
pages_manage_metadata
Required to subscribe to real-time Page webhook events and read Page metadata. Needed for notification and integration tools that listen for Page activity as it happens.
Meta documents the fields and edges for these objects in its Pages API reference. Check each name against that reference before you list it in a submission, because a mismatch between the request and the screencast is a common cause of rejection.
Meta's pages_read_engagement permission description is specific: it lets your app read content (posts, photos, videos, events) posted by the Page, read followers data (including name and PSID) and profile picture, and read metadata and other insights about the Page, to help a Page admin manage it. The pages_show_list permission has no dependencies; it lets your app show a person the Pages they manage and verify that they manage a Page.
⚠️ Requesting unneeded permissions is the fastest route to rejection
Meta reviewers test whether your app actually uses every permission it requests. If a permission appears in your submission but serves no visible function in the screencast or use-case explanation, the entire submission is at risk. Apps requesting pages_manage_posts when the screencast only demonstrates read operations get rejected — not approved with fewer permissions, rejected.
Who gets blocked by these permissions
Any app that works with Facebook Pages on behalf of someone else — a client, a subscriber, a business owner — runs into this gate.
The most common affected projects include social media scheduling and bulk publishing tools, agency dashboards managing multiple client Pages, Page analytics and performance reporting platforms, community management and inbox moderation tools, and SaaS platforms integrating Facebook Page posting through the API.
The pattern is always the same: the app works in development while the developer's own test Pages are connected. The first real client connects, Standard Access stops working, and the developer discovers that Advanced Access — gated behind App Review — is the only path forward.
What App Review actually involves for Page permissions
Select the use case and request only what you need
In Meta's App Dashboard under App Review, select the use case that matches your product. Each use case bundles a set of permissions. Only request permissions your app genuinely uses — Meta's reviewers will check each one against your screencast. Unverifiable permissions trigger rejection for the full submission.
Write a specific use case justification per permission
For each permission, Meta requires a written explanation of exactly how your app uses it, what user benefit it enables, and how the data is handled.
Generic answers like “we post content to Pages” fail. Reviewers need to understand the specific user flow, what action the permission enables, and what happens to the data after it is accessed.
Record a screencast for every permission requested
A video demonstration is required for every permission. The recording must show a complete, working user flow: a test user with actual Page admin role, granting the permission, navigating to the specific feature, and the permission performing the exact function stated in the justification.
A single missing step — an unshown permission grant, an incomplete flow — means rejection for that permission.
Complete Meta Business Verification first
Advanced Access for all Facebook Page API permissions requires a verified business in Meta Business Manager. Meta Business Verification is a separate, multi-step process that must be completed before App Review can grant Advanced Access. An unverified business cannot receive Advanced Access regardless of how strong the App Review submission is.
Make the app fully accessible to reviewers
Meta will attempt to access and test the app directly during review. If the app is behind a login wall they cannot pass, a staging environment that is offline, or a URL that returns an error, the entire submission is rejected. The app must be live and publicly testable at the time of submission.
Submit, monitor, and handle rejections per permission
After submission, Meta reviews the use case, justification, and screencast for each permission individually. Typical review times run 2–7 business days. A rejection on any single permission requires a corrected resubmission and resets the review clock for that permission. Complex submissions covering five or six Page permissions regularly take longer than first-time developers expect.
Each rejected permission is a 2–7 day resubmission cycle. A tool requesting five Page permissions that gets one rejection per permission can spend six to eight weeks in review before the app is fully cleared for real client use. The preparation quality before the first submission determines how many of those cycles you face.
Plan the screencast before you write the justification. Start with the test user who holds the admin role on the business asset, show the login and the selection step, then show the one feature that reads or writes each object in the flow.
Reviewers test the flow the video shows, so every claim in the written text needs a matching moment on screen. If a scope is used only in a background job, record the effect in the dashboard instead of showing code.
Keep the test environment honest. Use a test asset you control, with real content, and make sure the reviewer account can reach every screen in the recording without special steps.
An empty profile with no posts or followers makes engagement features look untested, even when the code is correct. Remove test data that is not needed, and keep the public URL reachable for the whole review window.
Finally, check the wording against the code. Each justification should name the feature, the user, and the data touched, and nothing more.
Remove any sentence that describes a feature the app does not ship yet. Reviewers compare the text with the live product, and a claim that cannot be demonstrated tends to get the whole submission returned.
The outcome
All requested Page API permissions approved at Advanced Access — pages_manage_posts, pages_read_engagement, pages_show_list, and others — so your app can publish, read, and manage Facebook Pages for real client accounts without Standard Access restrictions blocking production use.
Common reasons Facebook Page API submissions get rejected
- Requesting
pages_manage_postsorpages_manage_engagementwhen only read operations are shown in the screencast — submission and video must match exactly. - Screencast uses a personal profile or Business Manager preview rather than a test user with actual Page admin role — Meta cannot verify the permission grant flow.
- Use case justification is too generic without describing the specific user workflow, data handling, and end-user benefit per permission.
- App is behind a login screen, staging password, or non-public URL — Meta cannot test it and rejects the whole submission.
- Business Verification not completed before submitting for Advanced Access.
- Requesting
pages_show_listwithout showing a feature that actually uses the returned Page list in the screencast. - Privacy policy does not reference the specific data types collected via Page engagement and user-generated content permissions.
- Requesting the full use-case permission bundle including
pages_manage_engagementwhen the app only needs to publish — unused permissions in the bundle are tested individually.
Need Us to Get Your Meta App 100% Approved?
Stop losing weeks to repeated rejections. With 500+ apps approved, we handle your entire submission from start to finish. You get 100% Approval or a 100% Refund — and for your complete safety, you can hire us directly through Upwork or Fiverr Escrow (or use the WhatsApp / Calendar buttons in the header & footer).
Chat on WhatsAppFAQ
Which Page permissions do I need just to publish posts?
Meta's Permissions Reference lists pages_show_list and pages_read_engagement as dependencies of pages_manage_posts, so a publishing app normally requests all three. The person connecting must be able to create content on that Page. Your screencast should show the login, Page selection, a post written in your app, and that post appearing on the Facebook Page.
Is pages_show_list approved on its own?
It can be, but it rarely makes sense alone. pages_show_list only lists the Pages a person manages, so reviewers expect to see what your app does next with the selected Page.
Request it together with the permission that delivers the feature, such as pages_manage_posts or pages_messaging, and show the Page picker in the same screencast.
Do I need App Review for Pages I manage myself?
Not for your own testing. With Standard Access, Page permissions work when the person logging in has a role on your app, such as admin, developer or tester.
As soon as customers outside your team connect their own Pages, every Page permission your app uses needs Advanced Access through App Review, which also requires Business Verification.
pages_read_engagement vs pages_read_user_content: which one do I need?
The split in pages_read_engagement vs pages_read_user_content is who wrote the content. The pages_read_engagement permission covers what the Page itself posts, plus follower data, metadata and insights. pages_read_user_content covers user-generated content on the Page, such as posts, comments and ratings by users or other Pages, and lets your app delete user comments on Page posts.
Both depend on the pages_show_list permission. If your inbox or moderation tool shows visitor comments, request pages_read_user_content; if it only reports on the Page's own posts, pages_read_engagement is the right request.
Note: Meta makes all App Review and permission approval decisions independently. Review timelines and outcomes depend entirely on Meta’s process and cannot be guaranteed by any third party.
This post describes the App Review preparation and submission process based on publicly available Meta developer documentation — it is not an official Meta service or partnership, and no approval outcome can be guaranteed.
Related: What is Meta Advanced Access — explaining the difference between Standard and Advanced Access and why it gates Page API permissions; the Meta App Review rejection fix service for apps already in a rejection cycle; and the full Facebook App Review service for done-for-you submission support across all Page permissions.