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/breakreach-com:breakreach-com-comments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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: Breakreach Comments API
version: 1.1.0
description: 'Publish and schedule social media posts across Instagram, TikTok, X (Twitter), Reddit, LinkedIn, YouTube, Facebook, Threads, Bluesky, Pinterest, Telegram, Discord, Slack, Mastodon, WordPress, Ghost, Dev.to, Hashnode, Tumblr and Google Business Profile with one request shape.
Authenticate with an API key (create one in the Breakreach dashboard under Settings → API & MCP) sent as a Bearer token. Errors answer with an HTTP status and a JSON body { "error": "" }.
Every POST accepts an Idempotency-Key header: any unique string up to 255 characters, a UUID for instance. Retrying with the same key and the same body within 24 hours returns the first response, marked Idempotent-Replayed: true, instead of creating a second post. The same key with a different body answers 422, and 409 while the first request is still running. Errors are not kept, so a fixed request can reuse its key. Keys belong to the API key that sent them.
AI agents can use the same capabilities through the hosted MCP server at https://api.breakreach.com/mcp (OAuth 2.1).'
servers:
- url: https://api.breakreach.com
security:
- bearerAuth: []
tags:
- name: Comments
paths:
/v1/comments:
get:
summary: Recent comments
description: 'Comments on the latest 10 posts of every connected Instagram, Facebook and Threads account, including posts not published with Breakreach, plus replies to X posts published with Breakreach, plus the latest 50 reviews of every Google Business Profile location (platform googlebusiness, each review a comment with its rating and the business''s reply nested under it). Newest first. Each comment carries the accountId and platform needed to reply. Google only shows reviews of verified locations: an unverified one is listed in errors. YouTube is not listed yet: its comments need a restricted Google permission (youtube.force-ssl) that is not available to every account.'
operationId: listRecentComments
parameters:
- name: platform
in: query
schema:
type: string
enum:
- instagram
- facebook
- threads
- x
- googlebusiness
- name: accountId
in: query
schema:
type: string
- name: workspace
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
comments:
type: array
items:
$ref: '#/components/schemas/Comment'
errors:
type: array
description: Accounts that couldn't be read, with the reason; reconnect is true when reconnecting the account fixes it
items:
type: object
properties:
accountId:
type: string
platform:
type: string
displayName:
type: string
error:
type: string
reconnect:
type: boolean
ratings:
type: array
description: Each Google Business Profile location's score
items:
type: object
properties:
accountId:
type: string
accountDisplayName:
type: string
averageRating:
type:
- number
- 'null'
totalReviewCount:
type: integer
'400':
description: Unsupported platform or invalid accountId
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Workspace not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Comments
/v1/comments/reply:
post:
summary: Reply to a comment or a Google review
description: 'Replies to a comment on a published post. Supported: Instagram, Facebook, Threads, X, and Google Business Profile reviews (platform googlebusiness, commentId = the review id). A Google review takes one reply from the business, so replying again replaces it; replies take up to 4,096 bytes, only work on verified locations, and Google moderates them (status pending until approved). YouTube is not listed yet: its comments need a restricted Google permission (youtube.force-ssl) that is not available to every account.'
operationId: replyToComment
parameters:
- $ref: '#/components/parameters/IdempotencyKey'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- accountId
- platform
- commentId
- message
properties:
accountId:
type: string
platform:
type: string
enum:
- instagram
- facebook
- threads
- x
- googlebusiness
commentId:
type: string
message:
type: string
description: 'Google reviews: up to 4,096 bytes'
workspace:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
replyId:
type: string
status:
type: string
enum:
- pending
- approved
description: 'Google reviews: pending while Google moderates the reply'
'400':
description: Missing field, unsupported platform, or a Google review reply over 4,096 bytes
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Account, review or workspace not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
$ref: '#/components/responses/IdempotencyRunning'
'422':
$ref: '#/components/responses/IdempotencyMismatch'
'502':
description: 'The platform rejected the reply, and why (for Google: unverified location, or a content policy reason; for Threads: Meta hasn''t given Breakreach access to replies yet, or the connection expired)'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Comments
/v1/comments/{commentId}:
delete:
summary: Delete a comment or a review reply
description: 'Permanently deletes a comment. Supported: Instagram, Facebook, and Google Business Profile where it deletes the business''s reply to a review (commentId = the review id; Google doesn''t let a business delete reviews).'
operationId: deleteComment
parameters:
- name: commentId
in: path
required: true
schema:
type: string
- name: accountId
in: query
required: true
schema:
type: string
- name: platform
in: query
required: true
schema:
type: string
enum:
- instagram
- facebook
- googlebusiness
- name: workspace
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
'400':
description: Unsupported platform
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Account, review or workspace not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'502':
description: The platform rejected the request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Comments
components:
schemas:
Comment:
type: object
description: 'A comment, or a Google review (platform googlebusiness: postId is the location, rating the stars, replies the business''s reply)'
properties:
id:
type: string
description: Pass as commentId to reply or delete. For a Google review, the review id
platform:
type: string
postId:
type: string
description: The platform post id, or the Google location (accounts/{a}/locations/{l})
text:
type: string
description: Empty for a Google review with stars only
username:
type: string
avatarUrl:
type: string
format: uri
timestamp:
type: string
format: date-time
likeCount:
type: number
hidden:
type: boolean
rating:
type: integer
minimum: 1
maximum: 5
description: 'Google reviews: the star rating'
status:
type: string
enum:
- pending
- approved
- rejected
description: 'The business''s reply to a Google review: Google''s moderation status'
policyViolation:
type: string
description: Why Google rejected the reply, e.g. HARASSMENT
replies:
type: array
items:
$ref: '#/components/schemas/Comment'
postContent:
type: string
postUrl:
type: string
format: uri
postImage:
type: string
format: uri
accountId:
type: string
accountDisplayName:
type: string
Error:
type: object
required:
- error
properties:
error:
type: string
description: Human-readable reason
responses:
Unauthorized:
description: Missing, invalid or expired API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
IdempotencyRunning:
description: 'A request with this Idempotency-Key is still running: retry after Retry-After seconds to get its response'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
PaymentRequired:
description: No active Breakreach subscription or trial
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
IdempotencyMismatch:
description: This Idempotency-Key was already used with a different request in the last 24 hours
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: Not a member of the requested workspace
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
IdempotencyKey:
name: Idempotency-Key
in: header
required: false
schema:
type: string
minLength: 1
maxLength: 255
description: 'A unique string for this request, e.g. a UUID. A retry with the same key and body within 24 hours returns the first response (with the header Idempotent-Replayed: true) instead of running again. Printable ASCII, no spaces.'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key from the Breakreach dashboard (br_...) or an OAuth access token (bro_...)