FrameAnyPhoto Catalog API

The Catalog API from FrameAnyPhoto — 3 operation(s) for catalog.

GitHub OpenAPI

Operations 3

GET /api/catalog Public works with sizes, frames, prices, and credit. #
GET /api/catalog/{slug} One public work #
GET /api/catalog/categories Categories with ids, names, and counts #

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/frameanyphoto-com:frameanyphoto-com-catalog-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 Specification

frameanyphoto-com-catalog-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FrameAnyPhoto Catalog API
  version: 1.1.0
  description: Museum-quality framed prints of public-domain art. Agents can search works, price prints, and create a Stripe checkout link for the buyer to pay.
servers:
- url: https://frameanyphoto.com
tags:
- name: Catalog
paths:
  /api/catalog:
    get:
      operationId: listCatalog
      summary: Public works with sizes, frames, prices, and credit.
      parameters:
      - name: q
        in: query
        schema:
          type: string
          maxLength: 200
        description: Search title, artist, and category
      - name: category
        in: query
        schema:
          type: string
        description: Category slug or id, as on /browse (see /api/catalog/categories)
      - name: series
        in: query
        schema:
          type: string
        description: Series id (see /api/catalog/categories)
      - name: artist
        in: query
        schema:
          type: string
      - name: size
        in: query
        schema:
          type: string
        description: Small, Medium, Large, or a size id like 24x36
      - name: min_price
        in: query
        schema:
          type: number
          minimum: 0
        description: USD
      - name: max_price
        in: query
        schema:
          type: number
          minimum: 0
        description: USD
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - relevance
          - title
          - artist
          - newest
          - resolution
        description: 'Default: relevance with q, else title. newest = latest artwork date'
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 200
          default: 50
      - name: cursor
        in: query
        schema:
          type: string
        description: next_cursor from the previous page
      - name: offset
        in: query
        schema:
          type: integer
          minimum: 0
      responses:
        '200':
          description: '{ total, offset, limit, count, next_cursor, next, works[] }'
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '429':
          description: Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
      tags:
      - Catalog
  /api/catalog/{slug}:
    get:
      operationId: getCatalogWork
      summary: One public work
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Work
          content:
            application/json:
              schema:
                type: object
        '404':
          description: Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
      tags:
      - Catalog
  /api/catalog/categories:
    get:
      operationId: listCatalogCategories
      summary: Categories with ids, names, and counts
      responses:
        '200':
          description: Categories
          content:
            application/json:
              schema:
                type: object
      tags:
      - Catalog