Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/postproxy-dev:postproxy-dev-facebook-page-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Postproxy Social Media Facebook Page API
version: '2026-09-21'
summary: Unified social media API for publishing, comments, direct messages, and reviews.
description: 'The Postproxy API lets you programmatically create and manage social media posts across Facebook, Instagram, TikTok, LinkedIn, YouTube, X (Twitter), Threads, Pinterest, Bluesky, Telegram, and Google Business. Beyond publishing you can read and reply to comments, read and send direct messages, and reply to Google Business reviews and Facebook Page recommendations.
Send one payload; Postproxy maps it to each platform''s rules and returns a per-platform outcome. Sandbox mode is included on all plans for development without real accounts.
Human-readable reference: https://postproxy.dev/reference/overview/
## Versioning and deprecation
The API has a single stable version served at https://api.postproxy.dev/api. Releases are identified by this document''s date-based `info.version`. Changes are additive: new endpoints, new optional parameters, and new response fields may appear, and clients should ignore fields they do not recognize. Existing fields, parameters, and status codes are not changed or removed without a deprecation cycle.
When an endpoint or field is deprecated it is marked `deprecated: true` in this specification and announced in the changelog (https://postproxy.dev/getting-started/changelog/) at least 90 days before removal.'
termsOfService: https://postproxy.dev/terms-conditions/
contact:
name: Postproxy Support
url: https://postproxy.dev/developers/
email: support@postproxy.dev
x-versioning:
strategy: stable-single-version
spec-version-format: date (YYYY-MM-DD)
compatibility: additive-only; breaking changes go through a deprecation cycle
deprecation-signal: 'deprecated: true in this spec, plus a changelog announcement at least 90 days before removal'
changelog: https://postproxy.dev/getting-started/changelog/
servers:
- url: https://api.postproxy.dev
description: Production
security:
- bearerAuth: []
tags:
- name: Facebook Page
description: 'Read and update a Facebook Page''s profile: about, description, website, phone, emails'
externalDocs:
url: https://postproxy.dev/reference/platforms/facebook/#page-profile-management
paths:
/api/profiles/{profile_id}/facebook/page:
get:
operationId: fb_page_get
summary: Get Page
description: Returns the Facebook Page's profile fields. Defaults to id, name, username, link, category, fan_count, followers_count, about, description, general_info, company_overview, mission, products, founded, website, phone, emails, impressum, price_range. Pass fields to choose Graph API Page fields explicitly.
tags:
- Facebook Page
externalDocs:
url: https://postproxy.dev/reference/platforms/facebook/#get-page
parameters:
- name: profile_id
in: path
required: true
description: Profile id (must be a facebook profile)
schema:
type: string
- name: page_id
in: query
required: true
description: Placement ID — the Page's Facebook ID, as returned by List placements
schema:
type: string
- name: fields
in: query
required: false
description: Comma-separated Graph API Page fields. Defaults to the profile-oriented set
schema:
type: string
- $ref: '#/components/parameters/ProfileGroupId'
responses:
'200':
description: The Page
content:
application/json:
schema:
type: object
additionalProperties: true
description: Graph API Page fields, passed through unchanged. Facebook omits fields the Page has never set.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
description: The Page token lacks permission to edit the Page
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/ValidationError'
'429':
$ref: '#/components/responses/RateLimited'
'502':
description: Facebook did not accept the connection
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/api/profiles/{profile_id}/facebook/update_page:
patch:
operationId: fb_page_update
summary: Update Page
description: Updates the Page's profile fields. Send only the fields you want to change; anything omitted is left as-is. At least one updatable field is required, or the request is a 400. Requires the connecting user to hold a Page role that allows editing Page info; otherwise 403. Returns the updated Page in the same shape as Get Page.
tags:
- Facebook Page
externalDocs:
url: https://postproxy.dev/reference/platforms/facebook/#update-page
parameters:
- name: profile_id
in: path
required: true
description: Profile id (must be a facebook profile)
schema:
type: string
- $ref: '#/components/parameters/ProfileGroupId'
- $ref: '#/components/parameters/IdempotencyKey'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- page_id
properties:
page_id:
type: string
description: Placement ID — the Page's Facebook ID
about:
type: string
description: Short bio, up to 255 characters
description:
type: string
description: Long-form description
general_info:
type: string
description: Additional information
company_overview:
type: string
description: Company overview
mission:
type: string
description: Mission statement
products:
type: string
description: Products
founded:
type: string
description: Founding year or date
website:
type: string
description: Website URL(s), space-separated for more than one
phone:
type: string
description: Contact phone
impressum:
type: string
description: Legal notice (Impressum)
emails:
type: array
items:
type: string
description: Contact email addresses
price_range:
type: string
enum:
- $
- $$
- $$$
- $$$$
- Unspecified
description: Price range
responses:
'200':
description: The updated Page
content:
application/json:
schema:
type: object
additionalProperties: true
description: Graph API Page fields, passed through unchanged. Facebook omits fields the Page has never set.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
description: The Page token lacks permission to edit the Page
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/ValidationError'
'429':
$ref: '#/components/responses/RateLimited'
'502':
description: Facebook did not accept the connection
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
responses:
ValidationError:
description: Validation failed.
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrors'
NotFound:
description: Resource does not exist or is not accessible.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
notFound:
value:
error: Not found
BadRequest:
description: Missing required parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
Unauthorized:
description: Invalid, missing, or insufficient API key permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
invalidKey:
value:
error: Invalid API key
RateLimited:
description: Posting rate limit reached.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
ProfileGroupId:
name: profile_group_id
in: query
required: false
description: Profile group context for the request. Optional when the API key is scoped to a profile group (that group is used automatically); with a full-access key, defaults to the first profile group in the account.
schema:
type: string
IdempotencyKey:
name: Idempotency-Key
in: header
required: false
description: 'Optional idempotency key (up to 255 characters; a UUID is ideal). Retrying a successful write with the same key replays the original response (with an Idempotent-Replay: true header) instead of executing again. Stored responses are kept for 24 hours; only 2xx responses are stored.'
schema:
type: string
maxLength: 255
schemas:
ValidationErrors:
type: object
properties:
errors:
type: array
items:
type: string
required:
- errors
Error:
type: object
properties:
error:
type: string
required:
- error
BadRequestError:
type: object
properties:
status:
type: integer
const: 400
error:
type: string
message:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key sent as a Bearer token in the Authorization header. Keys are either full-access (entire account) or scoped to a single profile group. Create keys at https://app.postproxy.dev under Settings → API Keys.
externalDocs:
description: Full API reference
url: https://postproxy.dev/reference/overview/