Comunicate.top API Public catalogue API

Four routes that work with no key at all: the network’s niches, one niche with sample publications, the catalogue figures and the market statistics. This is the same data the public site shows, served as JSON — useful for comparisons, for an assistant that wants to know what is in the network, or for anyone who wants to see the shape of the data before opening an account. There is deliberately no public route for the full publication list: the inventory is not downloadable in one request.

Operations 4

GET /public/stats Catalogue figures #
GET /public/niches The network’s niches #
GET /public/niches/{slug} One niche, with sample publications #
GET /public/statistici-piata Market statistics #

Work with this as data

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/comunicate-top-api-public-catalogue-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 Specification

comunicate-top-api-public-catalogue-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Comunicate.top Public catalogue API
  version: 1.0.0
  description: 'Publish articles (advertorials, press releases) on 3.800+ websites in Romania, Italy and beyond: catalogue, articles, publications, campaigns, reports.'
  contact:
    url: https://comunicate.top/ro/contact
servers:
- url: https://app.comunicate.top/api/v1
tags:
- name: Public catalogue
  description: 'Four routes that work with no key at all: the network’s niches, one niche with sample publications, the catalogue figures and the market statistics. This is the same data the public site shows, served as JSON — useful for comparisons, for an assistant that wants to know what is in the network, or for anyone who wants to see the shape of the data before opening an account. There is deliberately no public route for the full publication list: the inventory is not downloadable in one request.'
paths:
  /public/stats:
    get:
      operationId: get__public_stats
      summary: Catalogue figures
      description: 'How many active publications the network has, and across how many niches. No key needed.


        No authentication required: this route is open to anyone.'
      tags:
      - Public catalogue
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  publications:
                    type: integer
                    description: Active publications.
                  niches:
                    type: integer
                    description: Niches with publications.
        '400':
          description: Invalid input
      security: []
  /public/niches:
    get:
      operationId: get__public_niches
      summary: The network’s niches
      description: 'All niches, with the publication count and average authority of each. No key needed.


        No authentication required: this route is open to anyone.'
      tags:
      - Public catalogue
      parameters:
      - name: locale
        in: query
        required: false
        description: Language of names and descriptions. Defaults to `ro`.
        schema:
          type: string
          enum:
          - ro
          - en
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  slug:
                    type: string
                    description: The niche identifier, used in the next route.
                  name:
                    type: string
                    description: The niche name in the requested language.
                  description:
                    type: string
                    description: What kind of material the publications in this niche accept.
                  publicationCount:
                    type: integer
                    description: How many active publications the niche has.
                  averageDa:
                    type: integer
                    description: Average domain authority (Moz DA).
        '400':
          description: Invalid input
      security: []
  /public/niches/{slug}:
    get:
      operationId: get__public_niches_slug
      summary: One niche, with sample publications
      description: 'The requested niche and a few of its publications, with authority, turnaround, price and how paid content is labelled. It is a sample, not the inventory: the full list is visible from an account.


        No authentication required: this route is open to anyone.'
      tags:
      - Public catalogue
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: locale
        in: query
        required: false
        description: Language of names and descriptions. Defaults to `ro`.
        schema:
          type: string
          enum:
          - ro
          - en
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  slug:
                    type: string
                    description: The niche identifier.
                  name:
                    type: string
                    description: The niche name.
                  publicationCount:
                    type: integer
                    description: How many publications the niche has in total.
                  averageDa:
                    type: integer
                    description: The niche’s average authority.
                  publications:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
                    description: 'The sample: `domain`, `language`, `metricDa`, `metricPa`, `deliveryDays`, `priceCents`, `currency`, `marcaj`.'
        '400':
          description: Invalid input
      security: []
  /public/statistici-piata:
    get:
      operationId: get__public_statistici_piata
      summary: Market statistics
      description: 'The catalogue’s aggregate figures: how many publications, how many from our own network, the authority distribution, turnaround times and the price for each campaign type. The data behind the “What an advertorial costs” page.


        No authentication required: this route is open to anyone.'
      tags:
      - Public catalogue
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  publicatii:
                    type: integer
                    description: Active publications with a public price.
                  retea:
                    type: integer
                    description: How many of them are our own.
                  autoritate:
                    type: object
                    additionalProperties: true
                    description: Minimum, maximum, median, mean and the distribution across bands.
                  termene:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
                    description: How many publications deliver in how many days.
                  preturi:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
                    description: 'Per campaign type: price, minimum, maximum and how many publications accept it.'
        '400':
          description: Invalid input
      security: []
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: API key from Integrations (bk_live_…)
    oauth2:
      type: oauth2
      description: OAuth 2.1 with PKCE (S256). Dynamic client registration at https://app.comunicate.top/api/v1/oauth/register. The access token is an API key and is accepted everywhere an API key is.
      flows:
        authorizationCode:
          authorizationUrl: https://app.comunicate.top/api/v1/oauth/authorize
          tokenUrl: https://app.comunicate.top/api/v1/oauth/token
          refreshUrl: https://app.comunicate.top/api/v1/oauth/token
          scopes:
            CATALOG_READ: catalog read
            ARTICLES_READ: articles read
            ARTICLES_WRITE: articles write
            MEDIA_WRITE: media write
            PUBLICATIONS_READ: publications read
            PUBLICATIONS_WRITE: publications write
            CAMPAIGNS_READ: campaigns read
            CAMPAIGNS_WRITE: campaigns write
            BALANCE_READ: balance read
            REPORTS_READ: reports read