Home / Platforms / Facebook Graph

API Overview

v26.0 · July 2026

The Facebook Graph API v26.0 is the standard way to read from and write to the Facebook social graph. Developers can build apps that manage Facebook Pages, publish and schedule posts, read Page insights, moderate comments, manage ads, and more. Authentication uses OAuth 2.0 with Page Access Tokens for most Page-level operations.

v26.0 Breaking Changes: The Commerce Order Management API (47 endpoints) has been fully deprecated and removed. Legacy "New Pages Experience" fields and several legacy protocol features have been phased out. Check the official changelog before updating your integration.

Page Management
Publish posts, schedule content, manage Page settings, and read Page metadata via the Pages API.
Insights & Analytics
Access Page and post-level insights including reach, impressions, engagement, and the new unified Viewers metric.
Ads & Marketing API
Create, manage, and optimize Facebook ad campaigns, ad sets, and creatives programmatically.
Webhooks
Subscribe to real-time notifications for Page events, mentions, messages, and more via webhooks.

API Features

FeatureDescriptionRequired PermissionStatus
Post PublishingPublish text, photo, video, and link posts to a Facebook Pagepages_manage_postsAvailable
Post SchedulingSchedule posts for future publication on a Facebook Pagepages_manage_postsAvailable
Page InsightsAccess engagement, reach, impressions, and demographic datapages_read_engagementAvailable
Comment ModerationRead, reply, hide, and delete comments on Page postspages_manage_engagementAvailable
Messenger PlatformSend and receive messages via Facebook Messengerpages_messagingAvailable
Events ManagementCreate, update, and delete Facebook Events for a Pagepages_manage_metadataAvailable
Marketing / Ads APIFull programmatic control of ad campaigns, sets, and creativesads_managementAdvanced
Business ManagementAccess business assets, portfolios, and system usersbusiness_managementAdvanced
WebhooksSubscribe to Page events, messages, and mentions in real timeSubscription setup requiredAvailable

Rate Limits

Graph API v26.0
Limit TypeLimitScopeNotes
Platform Rate Limit200 calls / user / hourPer app-user pairStandard limit for most Graph API endpoints
Business Use Case (BUC)Dynamic — based on engagementPer app / PageApplies to Marketing API and high-volume Page operations
App-Level Token200 × number of usersPer hour per appScales with active user base

Monitor rate limit consumption using the x-app-usage and x-business-use-case-usage HTTP response headers. When limits are exceeded, the API returns API_EC_TOO_MANY_CALLS. Implement exponential backoff.

Media Requirements

Media TypeSupported FormatsMax SizeNotes
PhotosJPG, PNG, GIF, TIFF, BMP, WebP, HEIF10 MBJPG recommended; animated GIFs supported
VideosMP4, MOV, AVI, 3GPP, WMV, FLV10 GBMP4 H.264 with AAC audio strongly recommended
Video Max DurationUp to 240 minutes—For Reels, max 90 seconds
Video Resolution720p minimum recommended—1080p for best quality
Video Frame RateUp to 60 fps—30 fps recommended for standard posts
Aspect Ratios16:9 (landscape), 9:16 (vertical), 1:1 (square)—1:1 recommended for feed posts

Authentication & Access

RequirementDetails
Auth MethodOAuth 2.0 via Facebook Login for Business
Token TypePage Access Token (for Page operations), User Access Token, App Access Token
Developer AccountMeta Developer account at developers.facebook.com
App ReviewRequired for production-level permissions (almost all write operations)
Business VerificationRequired for advanced permissions such as ads_management and business_management
2FA RequirementAccounts linked to apps performing sensitive actions must have 2FA enabled

Common Permission Scopes

pages_manage_posts pages_read_engagement pages_manage_metadata pages_manage_engagement pages_messaging business_management ads_management read_insights

Quick Start Guide

1

Create a Meta App

Register a new app at developers.facebook.com. Add Facebook Login and Pages API products to your app.

2

Generate a Page Access Token

HTTP GET
GET https://graph.facebook.com/v26.0/me/accounts
  ?access_token=USER_ACCESS_TOKEN

From the response, use the access_token for the target Page.

3

Publish a Post to a Page

HTTP POST
POST https://graph.facebook.com/v26.0/{page-id}/feed
  ?message=Hello%20from%20the%20Graph%20API%21
  &access_token=PAGE_ACCESS_TOKEN
4

Read Page Insights

HTTP GET
GET https://graph.facebook.com/v26.0/{page-id}/insights
  ?metric=page_impressions,page_engaged_users
  &period=day
  &access_token=PAGE_ACCESS_TOKEN

Common Errors & Solutions

Error CodeMeaningCommon CauseSolution
190Invalid OAuth 2.0 Access TokenExpired or revoked access tokenRefresh or re-generate the token; check token expiry with the Debug Token tool
4 / API_EC_TOO_MANY_CALLSApplication request limit reachedPlatform rate limit exceededImplement exponential backoff; check x-app-usage header
10 / 200Permission deniedMissing required scope or not approved in App ReviewRequest the required permission via App Review and ensure user has granted it
100Invalid parameterWrong field name or value formatCheck the Graph API Explorer and verify field names against official docs
368Blocked temporaryAccount or app flagged for policy violationsReview the Facebook Developer Policies and contact Meta support

Best Practices

Monitor Usage Headers

Always read x-app-usage and x-business-use-case-usage response headers to track real-time rate limit consumption.

Track the Changelog

Meta frequently releases out-of-cycle API changes. Subscribe to the official changelog to avoid surprise deprecations.

Secure Access Tokens

Never hardcode access tokens in client-side code. Store them server-side using an encrypted secrets manager. Use long-lived Page tokens where possible.

Use Webhooks Over Polling

Subscribe to Webhooks for real-time Page events and messages instead of polling the API repeatedly, which wastes rate limit budget.

Test in Explorer First

Use the Graph API Explorer to test all queries before coding them into your production app.

Exponential Backoff

When receiving rate-limit errors, wait with exponential backoff (1s, 2s, 4s, 8s...) before retrying to avoid compounding throttle penalties.