ReachSocial Payments API
The Payments API from ReachSocial — 1 operation(s) for payments.
The Payments API from ReachSocial — 1 operation(s) for payments.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/reachsocial-dev:reachsocial-dev-payments-api"
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.
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: ReachSocial Payments API
summary: Provider-neutral social data services for B2B clients and agents.
description: Provider-neutral social data for B2B applications and x402-capable agents. Discover executable services at `/v1/services` and the reviewed roadmap at `/v1/catalog`.
version: 0.3.1
contact:
email: artemhinz2@gmail.com
url: https://reachsocial.dev/contact
x-guidance: 'Read /v1/services and /status.json for current availability and payment metadata. Public execution needs no ReachSocial API key. Send JSON {input: {...}} and a random 32–255 character Idempotency-Key, saved before payment. Verify the actual x402 v2 challenge''s network, native USDC asset, receiver, resource, and price before signing. On a lost response, POST the same input and key to /v1/payments/recover/{service_id}; recovery never requires another payment. Never generate a new key to retry an uncertain payment.'
servers:
- url: https://reachsocial.dev
description: Public ReachSocial API
tags:
- name: Payments
paths:
/v1/payments/recover/{service_id}:
post:
tags:
- Payments
summary: Recover Paid Result
description: Return an already-paid result or job using the original idempotency key.
operationId: recover_paid_result_v1_payments_recover__service_id__post
parameters:
- name: service_id
in: path
required: true
schema:
type: string
title: Service Id
- name: Idempotency-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Idempotency-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExecuteRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Recover Paid Result V1 Payments Recover Service Id Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ExecuteRequest:
properties:
input:
additionalProperties: true
type: object
title: Input
additionalProperties: false
type: object
title: ExecuteRequest
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Private ReachSocial B2B API key.
x402Payment:
type: apiKey
in: header
name: PAYMENT-SIGNATURE
description: x402 v2 payment signature after the initial 402 challenge.
jobToken:
type: apiKey
in: header
name: X-Job-Token
description: Opaque token returned once for an anonymous asynchronous job.
adminToken:
type: apiKey
in: header
name: X-Admin-Token
description: Protected owner-operations token; never used by public agents.
x-reachsocial-services:
- id: news.person
status: private
execution: sync
response_shape: news
price_cents: null
input_schema: '#/components/schemas/NewsPersonInput'
- id: instagram.profile
status: available
execution: sync
response_shape: profile
price_cents: 5
input_schema: '#/components/schemas/InstagramProfileInput'
- id: instagram.post
status: available
execution: sync
response_shape: item
price_cents: 5
input_schema: '#/components/schemas/InstagramPostInput'
- id: instagram.feed
status: available
execution: sync
response_shape: feed
price_cents: 5
input_schema: '#/components/schemas/InstagramFeedInput'
- id: instagram.stories
status: paused
execution: async
response_shape: stories
price_cents: null
input_schema: '#/components/schemas/InstagramStoriesInput'
- id: instagram.highlight
status: available
execution: sync
response_shape: stories
price_cents: 5
input_schema: '#/components/schemas/InstagramHighlightInput'
- id: x.profile
status: available
execution: sync
response_shape: profile
price_cents: 5
input_schema: '#/components/schemas/XProfileInput'
- id: x.post
status: available
execution: sync
response_shape: item
price_cents: 5
input_schema: '#/components/schemas/XPostInput'
- id: x.feed
status: available
execution: sync
response_shape: feed
price_cents: 5
input_schema: '#/components/schemas/XFeedInput'
- id: tiktok.profile
status: available
execution: sync
response_shape: profile
price_cents: 5
input_schema: '#/components/schemas/TiktokProfileInput'
- id: tiktok.feed
status: available
execution: sync
response_shape: feed
price_cents: 5
input_schema: '#/components/schemas/TiktokFeedInput'
- id: tiktok.video
status: available
execution: sync
response_shape: item
price_cents: 5
input_schema: '#/components/schemas/TiktokVideoInput'
- id: linkedin.profile
status: paused
execution: async
response_shape: profile
price_cents: null
input_schema: '#/components/schemas/LinkedinProfileInput'
- id: youtube.channel
status: available
execution: sync
response_shape: profile
price_cents: 5
input_schema: '#/components/schemas/YoutubeChannelInput'
- id: youtube.feed
status: available
execution: sync
response_shape: feed
price_cents: 5
input_schema: '#/components/schemas/YoutubeFeedInput'
- id: youtube.video
status: available
execution: sync
response_shape: item
price_cents: 5
input_schema: '#/components/schemas/YoutubeVideoInput'
- id: facebook.profile
status: available
execution: sync
response_shape: profile
price_cents: 5
input_schema: '#/components/schemas/FacebookProfileInput'
- id: reddit.post
status: available
execution: sync
response_shape: item
price_cents: 5
input_schema: '#/components/schemas/RedditPostInput'