MRR Ledger Businesses API

The Businesses API from MRR Ledger — 1 operation(s) for businesses.

Operations 1

GET /api/v1/businesses/{slug}.json Get one business #

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/mrrledger:mrrledger-businesses-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

mrrledger-businesses-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MRR Ledger Businesses API
  version: 1.0.0
  description: Real agentic businesses that make money. Every number sourced.
  license:
    name: CC BY 4.0
  x-rate-limits:
    status: live
    per_day_utc:
      free (no key, per IP): 100
      hobby: 2000
      builder: 10000
      pro: 10000
      team (5 keys, shared): 25000
    metered:
    - /api/v1/search.json
    - /api/v1/compare.json
    - /mcp (tools/call only)
    - /api/v1/export.csv
    - /api/v1/export.jsonl
    - /api/v1/history.json
    unmetered: static /api/v1/*.json and *.csv files
    headers:
    - X-RateLimit-Limit
    - X-RateLimit-Remaining
    - X-RateLimit-Reset
    - X-RateLimit-Plan
    - Retry-After (on 429)
servers:
- url: https://mrrledger.com
security:
- {}
- ApiKeyHeader: []
- BearerAuth: []
tags:
- name: Businesses
paths:
  /api/v1/businesses/{slug}.json:
    get:
      summary: Get one business
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  slug:
                    type: string
                  name:
                    type: string
                  category:
                    type: string
                  tier:
                    type: string
                    enum:
                    - venture
                    - indie
                    - experiment
                    description: 'Tier is about funding, not size: Venture-backed = raised outside venture money (even at under $1M annualized); Indie = bootstrapped or founder-funded; Experiment = agent-run or research project.'
                  tier_label:
                    type: string
                  tier_note:
                    type: string
                  badge_url:
                    type: string
                    format: uri
                    description: Embeddable SVG badge (rank + raw headline metric)
                  badge_plain_url:
                    type: string
                    format: uri
                    description: SVG badge without a number
                  related:
                    type: array
                    description: Up to 4 similar businesses (same category / shared tags / nearby scale) with compare_url
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                        name:
                          type: string
                        category:
                          type: string
                        tier:
                          type: string
                        annualized_revenue_usd:
                          type:
                          - number
                          - 'null'
                        revenue_disclosed:
                          type: boolean
                        url_profile:
                          type: string
                        compare_url:
                          type: string
                        score:
                          type: number
                        why:
                          type: array
                          items:
                            type: string
                  annualized_revenue_usd:
                    type:
                    - number
                    - 'null'
                  annualized_revenue_basis:
                    type:
                    - string
                    - 'null'
                  confidence:
                    type:
                    - string
                    - 'null'
                    enum:
                    - reported
                    - self-reported
                    - null
                    description: '"reported" = press-reported, not company-confirmed; "self-reported" = stated by the company itself, not independently verified'
                  source_sync_stale_since:
                    type:
                    - string
                    - 'null'
                    format: date
                    description: Last sync date when the source page says its live data connection (e.g. a TrustMRR Stripe key) stopped; the value is the last synced figure. Null/absent = no stale-sync notice.
                  headline_verification:
                    type:
                    - object
                    - 'null'
                    description: 'Verification of the headline (ranked) figure itself: {method: payment-processor, processor, via} when payment-connected, else null. Filter with verified_only=true on search.'
                  verified_corroboration:
                    type:
                    - object
                    - 'null'
                    description: Present when the headline is self-reported or press-reported and a payment-verified revenue point (e.g. TrustMRR Stripe or Paddle snapshot) also exists; may be stale. {label, value_usd, annualized_usd, as_of, source_url, source_name, source_sync_stale_since, verification}
                    properties:
                      label:
                        type: string
                      value_usd:
                        type: number
                      annualized_usd:
                        type: number
                      as_of:
                        type: string
                      source_url:
                        type: string
                      source_name:
                        type:
                        - string
                        - 'null'
                      source_sync_stale_since:
                        type:
                        - string
                        - 'null'
                        format: date
                        description: Last sync date when the source page says its live data connection (e.g. a TrustMRR Stripe key) stopped; the value is the last synced figure. Null/absent = no stale-sync notice.
                  independent:
                    type: boolean
                    description: false when ownership.status is acquired
                  agentic_origin:
                    type:
                    - string
                    - 'null'
                    enum:
                    - agent-native
                    - agent-added
                    - unclear
                    - null
                    description: agent-native = agents from day one; agent-added = established product later added agents/MCP; unclear or null when not confident
                  revenue_disclosed:
                    type: boolean
                    description: true iff the business has a rankable sourced annualized revenue figure (ARR / MRR×12 / Revenue with value_usd — same rule as leaderboard membership). Funding or valuation alone is false.
                  older_figure:
                    type: boolean
                    description: true when the headline revenue metric is over 365 days old and not superseded
                  age_days:
                    type:
                    - integer
                    - 'null'
                    description: Build date minus headline as_of (month precision = mid-month)
                  ownership:
                    type:
                    - object
                    - 'null'
                    description: 'Present only when the business was acquired: {status: ''acquired'', acquirer, as_of, source_url, source_name}. Tier keeps the pre-sale funding history.'
                    properties:
                      status:
                        type: string
                        enum:
                        - acquired
                      acquirer:
                        type: string
                      as_of:
                        type: string
                      source_url:
                        type: string
                      source_name:
                        type: string
                  last_ownership_check:
                    type:
                    - string
                    - 'null'
                    format: date
                    description: YYYY-MM-DD of the latest entry in data/ownership_checks.json for this slug (independent / acquired / watch). Null when never ownership-checked; never invented.
                  ownership_watch:
                    type:
                    - object
                    - 'null'
                    description: 'Present only when ownership ledger verdict is watch: {verdict:''watch'', checked, note, source_url?}. Sale-process / for-sale signal — not a closed acquisition.'
                    properties:
                      verdict:
                        type: string
                        enum:
                        - watch
                      checked:
                        type: string
                      note:
                        type:
                        - string
                        - 'null'
                      source_url:
                        type: string
                  metrics:
                    type: array
                    items:
                      type: object
                      properties:
                        label:
                          type: string
                        value_usd:
                          type:
                          - number
                          - 'null'
                        value_count:
                          type:
                          - number
                          - 'null'
                        value_text:
                          type: string
                        as_of:
                          type: string
                        source_url:
                          type: string
                        source_name:
                          type: string
                        confidence:
                          type:
                          - string
                          - 'null'
                        source_sync_stale_since:
                          type:
                          - string
                          - 'null'
                          format: date
                          description: Last sync date when the source page says its live data connection (e.g. a TrustMRR Stripe key) stopped; the value is the last synced figure. Null/absent = no stale-sync notice.
                        confidence_label:
                          type: string
                          enum:
                          - payment-verified
                          - self-reported
                          - reported
                          description: 'Revenue figures only (MRR, ARR, Revenue, All-time revenue), derived at build time from the source type: payment-verified (TrustMRR or another payment-processor-connected source), self-reported (the company or founder, own site or social account), reported (press or another third party).'
                        source_type:
                          type: string
                          enum:
                          - trustmrr
                          - self-reported
                          - press
                          description: 'Revenue figures only: where the figure comes from (TrustMRR host, the company/founder, or press/third party).'
                        age_days:
                          type:
                          - integer
                          - 'null'
                        older_figure:
                          type: boolean
                        superseded:
                          type: boolean
                        link_check:
                          type:
                          - object
                          - 'null'
                        verification:
                          type:
                          - object
                          - 'null'
                          description: 'Set when the figure comes from a payment-processor-connected source (e.g. TrustMRR). {method: ''payment-processor'', processor: ''stripe''|''paddle''|''lemonsqueezy''|''polar''|''revenuecat''|''dodo''|null (source did not name it), via: host or null}. Null for press, self-reported, filings and company posts.'
                  signup_url:
                    type: string
                    format: uri
                    description: Referral signup link for this business (present only when MRR Ledger has one). Always shown with signup_url_disclosure. Never changes figures, rankings, sorting or verification.
                  signup_url_label:
                    type: string
                    enum:
                    - Sign up (referral)
                  signup_url_disclosure:
                    type: string
                    enum:
                    - Referral link, MRR Ledger may earn a commission
                    description: Repeat this disclosure wherever you show signup_url.
                  referral:
                    type: boolean
                    enum:
                    - true
                    description: 'true: signup_url is a referral (affiliate) link'
                  signup_go_url:
                    type: string
                    format: uri
                    description: Same link via https://mrrledger.com/go/{slug} (302 to signup_url; counts the click, no personal data)
                  claim_offer:
                    type: object
                    description: 'Verified Monthly offer for this business (''Claim and keep this verified''): a monthly revenue re-check and a dated Verified badge. Paying never changes figures, rankings, sorting or inclusion.'
                    properties:
                      label:
                        type: string
                        enum:
                        - Claim and keep this verified
                      plan:
                        type: string
                        enum:
                        - verified-monthly
                      status:
                        type: string
                        enum:
                        - on_sale
                        - sold_out
                        - unavailable
                      tier:
                        type:
                        - string
                        - 'null'
                        enum:
                        - founding
                        - standard
                        - null
                      what:
                        type: string
                      checkout:
                        type: array
                        items:
                          type: object
                          properties:
                            interval:
                              type: string
                            price:
                              type: string
                            unit_amount:
                              type: integer
                            currency:
                              type: string
                            price_key:
                              type: string
                            url:
                              type: string
                              format: uri
                              description: Stripe Payment Link with ?client_reference_id=<slug> so fulfilment knows which business
                      business_reference:
                        type: object
                        properties:
                          client_reference_id:
                            type: string
                      founding:
                        type: object
                        description: Founding price for the first N sign-ups, monthly and yearly combined, locked in
                        properties:
                          price:
                            type: string
                          limit:
                            type: integer
                          sold:
                            type: integer
                          left:
                            type: integer
                          sold_out:
                            type: boolean
                          locked_in:
                            type: boolean
                          counted_across:
                            type: array
                            items:
                              type: string
                      fulfillment:
                        type: string
                      note:
                        type: string
                      details:
                        type: string
                        format: uri
                      next:
                        type: string
        '404':
          description: Not found
      tags:
      - Businesses
      operationId: getApiV1Businesses{slug}Json
      x-operation-id-source: derived
components:
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'Optional. Send X-API-Key: <key> or Authorization: Bearer <key>. No key = Free (100 requests/day per IP). Hobby 2,000/day, Builder 10,000/day, Pro 10,000/day, Team 25,000/day shared by up to 5 keys; UTC days. Over the limit: HTTP 429 with Retry-After and X-RateLimit-* headers. Keys are issued by email after purchase. '
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: mrl_live_<plan>_<account>_<kid>_<sig>
      description: 'Same key as X-API-Key, sent as Authorization: Bearer.'