lovefengis-com Batch API

Several reads in one request

Operations 1

POST /api/v1/batch Run several GET requests in one call #

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/lovefengis-com:lovefengis-com-batch-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

lovefengis-com-batch-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: lovefengis public Batch API
  version: 1.0.0
  description: 'Catalog of the services and prices of lovefengis, an ads management and SEO agency in Turkey. Prices come from the same source as the website (TRY, VAT included). No authentication, no personal data. Every operation is read-only: the two POST endpoints (/batch and /jobs) only run reads and compute exports, they store and change nothing. To start a project, book a call at /gorusme.


    Pagination: list endpoints take limit (1-100, default 50) and an opaque cursor, and return next_cursor (null on the last page) and has_more.


    Idempotency: every POST accepts an Idempotency-Key header (1 to 255 printable ASCII characters). Operations are deterministic, so a repeated key with the same body returns the same result; the key is echoed in the response.


    Sandbox: the second server serves the same API with fixture data (two fake services, ids starting with sandbox-). Responses carry X-Lovefengis-Environment: sandbox. The short form /api/sandbox/v1 also works.


    Versioning: the major version is in the path (/api/v1). Breaking changes ship as a new path; a deprecated endpoint keeps working for at least 6 months and announces itself with Deprecation, Sunset and Link headers. Policy: https://lovefengis.com/gelistirici/surum-politikasi'
  contact:
    name: lovefengis
    url: https://lovefengis.com/gorusme
  x-deprecation-policy: https://lovefengis.com/gelistirici/surum-politikasi
servers:
- url: https://lovefengis.com
  description: Production
- url: https://sandbox.lovefengis.com
  description: 'Sandbox server: same API paths with fake fixture data (also at ${SITE}/api/sandbox/v1)'
tags:
- name: Batch
  description: Several reads in one request
paths:
  /api/v1/batch:
    post:
      operationId: batchRead
      tags:
      - Batch
      summary: Run several GET requests in one call
      description: 'Takes an array of up to 20 GET operations on /api/v1/ paths (not /batch or /jobs) and returns an array of { status, body } in the same order. Always 200 when the batch itself is valid; per-operation errors are in each status. Safe to repeat: same body, same result.'
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      - name: API-Version
        in: header
        required: false
        description: 'Pin the API version. Optional; the only version is 1. Any other value returns 400 unsupported_api_version. Policy: https://lovefengis.com/gelistirici/surum-politikasi'
        schema:
          type: string
          enum:
          - '1'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchRequest'
            example:
              operations:
              - method: GET
                path: /api/v1/hizmetler?limit=2
              - method: GET
                path: /api/v1/fiyatlar?period=monthly
      responses:
        '200':
          description: Results in request order.
          headers:
            API-Version:
              description: Version that served the response.
              schema:
                type: string
            Deprecation:
              description: 'RFC 9745. Present only on a deprecated endpoint: @ followed by the Unix time of deprecation.'
              schema:
                type: string
            Sunset:
              description: 'RFC 8594. Present only on a deprecated endpoint: HTTP date after which it may stop working.'
              schema:
                type: string
            Link:
              description: 'On a deprecated endpoint: the deprecation policy, rel="deprecation".'
              schema:
                type: string
            Idempotency-Key:
              description: Echo of the request header, when sent.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponse'
        '400':
          description: A parameter or the API-Version header is not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: The request body is larger than 8192 bytes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          description: The request body is not application/json.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded; retry after the Retry-After header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      description: Optional key (1 to 255 printable ASCII characters, for example a UUID) that identifies a retried request. These POST operations are read-only and deterministic, so the same key and body always return the same result. The key is echoed in the response; an invalid key returns 400 invalid_idempotency_key.
      schema:
        type: string
        minLength: 1
        maxLength: 255
        pattern: ^[\x21-\x7E]{1,255}$
  schemas:
    BatchRequest:
      type: object
      required:
      - operations
      properties:
        operations:
          type: array
          minItems: 1
          maxItems: 20
          items:
            $ref: '#/components/schemas/BatchOperation'
    BatchResponse:
      type: object
      required:
      - results
      properties:
        results:
          type: array
          items:
            type: object
            required:
            - status
            - body
            properties:
              status:
                type: integer
              body:
                type: object
                description: The JSON body that the single request would have returned.
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          - hint
          properties:
            code:
              type: string
              description: Stable machine-readable code.
            message:
              type: string
            hint:
              type: string
              description: How to fix the request.
    BatchOperation:
      type: object
      required:
      - method
      - path
      additionalProperties: false
      properties:
        method:
          type: string
          enum:
          - GET
        path:
          type: string
          pattern: ^/api/v1/
          maxLength: 300
          description: A /api/v1/ path with optional query string, for example /api/v1/hizmetler/reklam-yonetimi.
externalDocs:
  description: lovefengis developer docs
  url: https://lovefengis.com/gelistirici/api