MRR Ledger Businesses.json API

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

Operations 1

GET /api/v1/businesses.json List all businesses #

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-json-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-json-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MRR Ledger Businesses.json 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.json
paths:
  /api/v1/businesses.json:
    get:
      summary: List all businesses
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      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
      tags:
      - Businesses.json
      operationId: getApiV1BusinessesJson
      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.'