immokit-ai Me API

The Me API from immokit-ai — 1 operation(s) for me.

GitHub OpenAPI

Operations 1

GET /api/me Get your profile and current usage 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/immokit-ai:immokit-ai-me-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

immokit-ai-me-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: bodenrichtwert.ai Me API
  description: 'API for retrieving German land values (Bodenrichtwerte) by address.

    Provide a full German address and receive the land value in EUR per square meter,

    including the land use type, reference date, municipality, and source attribution.

    Covers all German states except Schleswig-Holstein, Sachsen, and Bayern (blocked for legal reasons, HTTP 451).'
  version: 1.2.0
  contact:
    url: https://api.bodenrichtwert.ai
servers:
- url: https://api.immokit.ai
  description: Production REST API
tags:
- name: Me
paths:
  /api/me:
    get:
      operationId: getUserProfile
      summary: Get your profile and current usage statistics
      description: 'Returns your user ID, subscription plan (free, starter, pro, or enterprise), your current

        usage, your monthly hard cap, and the state of your 14-day Pro trial.

        Useful for checking remaining quota before making requests.'
      security:
      - OAuth2: []
      - BearerAuth: []
      - QueryToken: []
      responses:
        '200':
          description: User profile and usage data
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Your user ID
                  plan:
                    type: string
                    enum:
                    - free
                    - starter
                    - pro
                    - enterprise
                    description: Your booked subscription plan
                  effective_plan:
                    type: string
                    enum:
                    - free
                    - starter
                    - pro
                    - enterprise
                    description: The plan currently in effect — "pro" while the 14-day trial is active, otherwise same as plan
                  usage_this_month:
                    type: integer
                    description: Number of API requests counted this month
                  limit:
                    type:
                    - integer
                    - 'null'
                    description: Effective hard cap this month — 100 during the trial, 0 on free (paywall), 50 on starter, 500 on pro, null on enterprise (unlimited by contract). Requests exceeding the cap are rejected with 402 limit_reached.
                  quota_exhausted:
                    type: boolean
                    description: true when the next lookup would be blocked with 402 limit_reached
                  upgrade_url:
                    type:
                    - string
                    - 'null'
                    description: Deep link to the billing page of the immokit.ai account (`produkt=bodenrichtwert`) when quota_exhausted, otherwise null
                  trial_expires_at:
                    type:
                    - string
                    - 'null'
                    format: date-time
                    description: When the 14-day Pro trial ends (ISO 8601), or null if no trial
                  trial_usage:
                    type: integer
                    description: Requests used during the trial window
                  trial_limit:
                    type: integer
                    description: Total request cap for the entire trial window (currently 100)
                  trial_active:
                    type: boolean
                    description: true while the trial is running and not exhausted
        '401':
          description: Missing or invalid Bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Unexpected internal error — retry later; contact support@bodenrichtwert.ai if it persists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Me
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error description
        status:
          type: integer
          description: HTTP status code
        reason:
          type: string
          enum:
          - trial_exhausted
          - no_active_plan
          description: Only on 402 limit_reached — why the quota is exhausted
        upgrade_url:
          type: string
          description: Only on 402 limit_reached — deep link to the billing page of the immokit.ai account (`produkt=bodenrichtwert`) to book a plan
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://bodenrichtwert.ai/oauth/authorize
          tokenUrl: https://bodenrichtwert.ai/oauth/token
          scopes: {}
    BearerAuth:
      type: http
      scheme: bearer
      description: 'Static API key issued in the dashboard (Entwickler → API-Keys). Pass as

        `Authorization: Bearer <key>`. Alternative to the OAuth2 flow above —

        recommended for direct server-to-server integrations that skip the

        interactive OAuth consent screen.

        '
    QueryToken:
      type: apiKey
      in: query
      name: token
      description: 'The same API key as `BearerAuth`, passed as `?token=<key>` instead of in a header.


        Intended **only** for clients that cannot set request headers — Google Sheets

        `=IMPORTXML`/`=IMPORTDATA` and comparable spreadsheet importers. Every other client

        should use the `Authorization` header, which takes precedence when both are present.


        A credential in a URL is structurally weaker than one in a header: it is visible to

        anyone who can read the spreadsheet formula or the link. Responses authenticated this

        way are sent with `Cache-Control: no-store`, and our request logs and analytics record

        only the path, never the query string — but the key should still be a dedicated one

        with an expiry date, revocable in the dashboard.

        '