OpenWeb Article API

SEO related to an article

Operations 1

POST /article/{spot_id}/{post_id} Create article SEO markup #

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/openweb:openweb-article-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

openweb-article-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SEO Service Article API
  version: '1.0'
  description: SEO related to an article
servers:
- url: https://seo.spot.im/v2
tags:
- name: article
  description: SEO related to an article
paths:
  /article/{spot_id}/{post_id}:
    parameters:
    - $ref: '#/components/parameters/post_id'
    - $ref: '#/components/parameters/spot_id'
    post:
      summary: Create article SEO markup
      operationId: post-article
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@context':
                    type: string
                  '@type':
                    type: string
                  headline:
                    type: string
                  name:
                    type: string
                  thumbnailUrl:
                    type: string
                  description:
                    type: string
                  url:
                    type: string
                  image:
                    type: object
                    properties:
                      '@context':
                        type: string
                      '@type':
                        type: string
                      url:
                        type: string
                      width:
                        type: string
                      height:
                        type: string
                  commentCount:
                    type: integer
                  aggregateRating:
                    type: object
                    properties:
                      '@context':
                        type: string
                      '@type':
                        type: string
                      ratingValue:
                        type: integer
                      reviewCount:
                        type: integer
                      worstRating:
                        type: integer
                      bestRating:
                        type: integer
                  comment:
                    type: array
                    items:
                      type: object
                      properties:
                        '@context':
                          type: string
                        '@type':
                          type: string
                        datePublished:
                          type: string
                        author:
                          type: object
                          properties:
                            '@context':
                              type: string
                            '@type':
                              type: string
                            name:
                              type: string
                        text:
                          type: string
                        upvoteCount:
                          type: integer
                        downvoteCount:
                          type: integer
                x-examples:
                  Example 1:
                    '@context': http://schema.org/
                    '@type': Article
                    headline: PitC1
                    name: PitC1
                    thumbnailUrl: https://images.spot.im/v1/production/rcgdsqrp7q7g1dr3ml1x
                    description: null
                    url: http://doctest.website/pitc/1.html
                    image:
                      '@context': http://schema.org/
                      '@type': ImageObject
                      url: https://images.spot.im/v1/production/rcgdsqrp7q7g1dr3ml1x
                      width: '750'
                      height: '750'
                    commentCount: 6
                    aggregateRating:
                      '@context': http://schema.org/
                      '@type': AggregateRating
                      ratingValue: 0
                      reviewCount: 0
                      worstRating: 1
                      bestRating: 5
                    comment:
                    - '@context': http://schema.org/
                      '@type': Comment
                      datePublished: '2020-05-06'
                      author:
                        '@context': http://schema.org/
                        '@type': Person
                        name: GreenFish
                      text: Just another comment
                      upvoteCount: 1
                      downvoteCount: 0
                    - '@context': http://schema.org/
                      '@type': Comment
                      datePublished: '2020-05-10'
                      author:
                        '@context': http://schema.org/
                        '@type': Person
                        name: AwesomeKevin
                      text: My first mobile comment...Android. ok
                      upvoteCount: 0
                      downvoteCount: 1
                    - '@context': http://schema.org/
                      '@type': Comment
                      datePublished: '2021-08-16'
                      author:
                        '@context': http://schema.org/
                        '@type': Person
                        name: Kevin
                      text: Just a test
                      upvoteCount: 0
                      downvoteCount: 1
                    - '@context': http://schema.org/
                      '@type': Comment
                      datePublished: '2020-05-07'
                      author:
                        '@context': http://schema.org/
                        '@type': Person
                        name: BorisYuzvinsky-kevinsworld
                      text: yet another comment to the mix
                      upvoteCount: 0
                      downvoteCount: 0
                    - '@context': http://schema.org/
                      '@type': Comment
                      datePublished: '2021-11-17'
                      author:
                        '@context': http://schema.org/
                        '@type': Person
                        name: DanL
                      text: Dan-test comment.
                      upvoteCount: 0
                      downvoteCount: 0
      description: Returns the SEO markup used by Google and other search engines to index your pages
      tags:
      - article
      parameters:
      - $ref: '#/components/parameters/json'
components:
  parameters:
    spot_id:
      name: spot_id
      in: path
      required: true
      schema:
        type: string
      description: Unique OpenWeb identifier
    json:
      name: json
      in: query
      required: false
      schema:
        type: boolean
        example: true
      description: Formats response into a JSON structure
    post_id:
      name: post_id
      in: path
      required: true
      schema:
        type: string
      description: 'Unique article identifier that is specific to the article page


        The ideal post ID has the following characteristics:

        - Aligns with the URL slug (`an-article-title`) or article ID (`14325`)

        - Is **less than 50 characters**, ideally 15 characters

        - Uses a combination of letters, numbers, dashes (-), or hyphens (_)

        - Except for the regex `[^\w\s\-\:\.\$\~]`, does not include special characters

        '
x-provenance:
  method: searched
  source: https://developers.openweb.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://developers.openweb.com/reference/post-article.md
  - https://developers.openweb.com/reference/post-comment.md
  - https://developers.openweb.com/reference/post-liveblog.md
  - https://developers.openweb.com/reference/post-reviews.md
  merge:
    pages: 4
    deduped: 8
    conflicts_kept_first: 0