{
  "openapi": "3.0.1",
  "info": {
    "title": "TrustMRR Scraper — Startup Revenue, MRR & For Sale",
    "description": "Scrape TrustMRR: verified revenue, MRR, growth and 7 revenue periods per startup, daily and monthly revenue, founder, tech stack, channels, startups for sale with asking price, multiple and price history, and founders. Filter by category, country, MRR or price. No login. Errors are never charged.",
    "version": "0.1",
    "x-build-id": "AysW7e11o4OxtkxAj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/oswaldocarabano~trustmrr-startups-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-oswaldocarabano-trustmrr-startups-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/oswaldocarabano~trustmrr-startups-scraper/runs": {
      "post": {
        "operationId": "runs-sync-oswaldocarabano-trustmrr-startups-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/oswaldocarabano~trustmrr-startups-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-oswaldocarabano-trustmrr-startups-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "outputType": {
            "title": "What to extract",
            "enum": [
              "startups",
              "startup-details",
              "for-sale",
              "founders"
            ],
            "type": "string",
            "description": "One row type per run. <b>startups</b>: full profile of every startup that matches your filters (about 80 filled fields per row: verified revenue for 7 periods, MRR, growth, last-30-day daily revenue, monthly revenue, founder, tech stack, channels, SEO, app store, sale listing). <b>startup-details</b>: the same full profile for the TrustMRR links or slugs you paste. <b>for-sale</b>: startups listed for sale, ranked like TrustMRR's \"best deals\", with asking price, multiple, price history, listing tier and seller message. <b>founders</b>: founder profiles with total revenue, MRR, followers, every startup and the monthly revenue since their first sale.",
            "default": "startups"
          },
          "startupUrls": {
            "title": "Startup links or slugs (for startup-details)",
            "maxItems": 5000,
            "type": "array",
            "description": "TrustMRR startup pages, for example https://trustmrr.com/startup/datafast, or just the slug (datafast). Only the slug is read from each entry. Pasting links with the type \"Startups\" switches the run to startup details; the filters below are not applied to pasted links. Entries that are not TrustMRR startup links get one error row that is not charged.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "founders": {
            "title": "Founders (for founders)",
            "maxItems": 2000,
            "type": "array",
            "description": "X handles (marclou or @marclou), x.com profile links or TrustMRR founder links (https://trustmrr.com/founder/marclou). Empty = the founders of the top startups that match your filters below, in ranking order (country, price, multiple and payment-provider filters are checked on each startup profile first, at no charge). Pasting handles with the type \"Startups\" switches the run to founders.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max rows",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Rows delivered (and charged) at most. Duplicates and error rows are never charged. The whole catalog is about 11,700 startups (2,300 for sale). When you paste startup links or founder handles and leave this empty, every one of them is delivered."
          },
          "includeRevenueHistory": {
            "title": "Include the full daily revenue history",
            "type": "boolean",
            "description": "Adds revenueHistory: every day of verified revenue since tracking began (median 88 days, up to 5,000+ days, measured on 347 startups), with the number of charges per day. Charged as a separate event only when the startup has at least one day of history. Every row already includes the last 30 days and the monthly totals for free.",
            "default": false
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Only startups in any of these TrustMRR categories (matched by TrustMRR itself on the main category and the tags).",
            "items": {
              "type": "string",
              "enum": [
                "ai",
                "analytics",
                "community",
                "content-creation",
                "crypto-web3",
                "customer-support",
                "design-tools",
                "developer-tools",
                "ecommerce",
                "education",
                "entertainment",
                "fintech",
                "games",
                "green-tech",
                "health-fitness",
                "iot-hardware",
                "legal",
                "marketing",
                "marketplace",
                "mobile-apps",
                "news-magazines",
                "no-code",
                "productivity",
                "real-estate",
                "recruiting",
                "saas",
                "sales",
                "security",
                "social-media",
                "travel",
                "utilities"
              ],
              "enumTitles": [
                "Artificial Intelligence",
                "Analytics",
                "Community",
                "Content Creation",
                "Crypto & Web3",
                "Customer Support",
                "Design Tools",
                "Developer Tools",
                "E-commerce",
                "Education",
                "Entertainment",
                "Fintech",
                "Games",
                "Green Tech",
                "Health & Fitness",
                "IoT & Hardware",
                "Legal",
                "Marketing",
                "Marketplace",
                "Mobile Apps",
                "News & Magazines",
                "No-Code",
                "Productivity",
                "Real Estate",
                "Recruiting & HR",
                "SaaS",
                "Sales",
                "Security",
                "Social Media",
                "Travel",
                "Utilities"
              ]
            },
            "default": []
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Only startups based in these countries (the 121 countries with a TrustMRR country page). The country lists are ranked by total revenue, so with countries the order is always by revenue. About 1 in 5 startups has no country and never matches this filter.",
            "items": {
              "type": "string",
              "enum": [
                "AD",
                "AE",
                "AL",
                "AM",
                "AR",
                "AT",
                "AU",
                "AX",
                "AZ",
                "BA",
                "BD",
                "BE",
                "BG",
                "BH",
                "BJ",
                "BO",
                "BR",
                "BZ",
                "CA",
                "CH",
                "CI",
                "CL",
                "CM",
                "CN",
                "CO",
                "CR",
                "CY",
                "CZ",
                "DE",
                "DK",
                "DO",
                "DZ",
                "EC",
                "EE",
                "EG",
                "ES",
                "ET",
                "FI",
                "FR",
                "GB",
                "GE",
                "GH",
                "GR",
                "HK",
                "HR",
                "HU",
                "ID",
                "IE",
                "IL",
                "IN",
                "IQ",
                "IT",
                "JM",
                "JO",
                "JP",
                "KE",
                "KH",
                "KR",
                "KW",
                "KZ",
                "LB",
                "LK",
                "LT",
                "LU",
                "LV",
                "MA",
                "MD",
                "ME",
                "MG",
                "MK",
                "MM",
                "MN",
                "MT",
                "MU",
                "MV",
                "MX",
                "MY",
                "MZ",
                "NE",
                "NG",
                "NI",
                "NL",
                "NO",
                "NP",
                "NZ",
                "OM",
                "PE",
                "PH",
                "PK",
                "PL",
                "PT",
                "PY",
                "QA",
                "RO",
                "RS",
                "RU",
                "RW",
                "SA",
                "SE",
                "SG",
                "SI",
                "SK",
                "TH",
                "TJ",
                "TM",
                "TN",
                "TR",
                "TT",
                "TW",
                "TZ",
                "UA",
                "UG",
                "US",
                "UY",
                "UZ",
                "VC",
                "VN",
                "XK",
                "ZA",
                "ZM",
                "ZW"
              ],
              "enumTitles": [
                "Andorra",
                "United Arab Emirates",
                "Albania",
                "Armenia",
                "Argentina",
                "Austria",
                "Australia",
                "Åland Islands",
                "Azerbaijan",
                "Bosnia & Herzegovina",
                "Bangladesh",
                "Belgium",
                "Bulgaria",
                "Bahrain",
                "Benin",
                "Bolivia",
                "Brazil",
                "Belize",
                "Canada",
                "Switzerland",
                "Côte d’Ivoire",
                "Chile",
                "Cameroon",
                "China",
                "Colombia",
                "Costa Rica",
                "Cyprus",
                "Czechia",
                "Germany",
                "Denmark",
                "Dominican Republic",
                "Algeria",
                "Ecuador",
                "Estonia",
                "Egypt",
                "Spain",
                "Ethiopia",
                "Finland",
                "France",
                "United Kingdom",
                "Georgia",
                "Ghana",
                "Greece",
                "Hong Kong SAR China",
                "Croatia",
                "Hungary",
                "Indonesia",
                "Ireland",
                "Israel",
                "India",
                "Iraq",
                "Italy",
                "Jamaica",
                "Jordan",
                "Japan",
                "Kenya",
                "Cambodia",
                "South Korea",
                "Kuwait",
                "Kazakhstan",
                "Lebanon",
                "Sri Lanka",
                "Lithuania",
                "Luxembourg",
                "Latvia",
                "Morocco",
                "Moldova",
                "Montenegro",
                "Madagascar",
                "North Macedonia",
                "Myanmar (Burma)",
                "Mongolia",
                "Malta",
                "Mauritius",
                "Maldives",
                "Mexico",
                "Malaysia",
                "Mozambique",
                "Niger",
                "Nigeria",
                "Nicaragua",
                "Netherlands",
                "Norway",
                "Nepal",
                "New Zealand",
                "Oman",
                "Peru",
                "Philippines",
                "Pakistan",
                "Poland",
                "Portugal",
                "Paraguay",
                "Qatar",
                "Romania",
                "Serbia",
                "Russia",
                "Rwanda",
                "Saudi Arabia",
                "Sweden",
                "Singapore",
                "Slovenia",
                "Slovakia",
                "Thailand",
                "Tajikistan",
                "Turkmenistan",
                "Tunisia",
                "Türkiye",
                "Trinidad & Tobago",
                "Taiwan",
                "Tanzania",
                "Ukraine",
                "Uganda",
                "United States",
                "Uruguay",
                "Uzbekistan",
                "St. Vincent & Grenadines",
                "Vietnam",
                "Kosovo",
                "South Africa",
                "Zambia",
                "Zimbabwe"
              ]
            },
            "default": []
          },
          "onSaleOnly": {
            "title": "Only startups for sale",
            "type": "boolean",
            "description": "Keep only startups listed for sale on the TrustMRR marketplace (about 2,300). Always on with outputType for-sale.",
            "default": false
          },
          "minMrr": {
            "title": "Min MRR (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Monthly recurring revenue, verified by the payment provider."
          },
          "maxMrr": {
            "title": "Max MRR (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Monthly recurring revenue, verified by the payment provider."
          },
          "minTotalRevenue": {
            "title": "Min total revenue (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "All-time verified revenue."
          },
          "maxTotalRevenue": {
            "title": "Max total revenue (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "All-time verified revenue."
          },
          "minGrowth30d": {
            "title": "Min revenue growth, last 30 days (%)",
            "minimum": -100,
            "type": "integer",
            "description": "For example 20 = revenue grew at least 20% versus the previous 30 days."
          },
          "maxGrowth30d": {
            "title": "Max revenue growth, last 30 days (%)",
            "minimum": -100,
            "type": "integer",
            "description": "Negative values find startups that are shrinking."
          },
          "minXFollowers": {
            "title": "Min founder X followers",
            "minimum": 0,
            "type": "integer",
            "description": "Followers of the founder on X (Twitter)."
          },
          "targetAudience": {
            "title": "Audience",
            "enum": [
              "any",
              "B2B",
              "B2C"
            ],
            "type": "string",
            "description": "B2B or B2C as declared on TrustMRR.",
            "default": "any"
          },
          "foundedYearMin": {
            "title": "Founded in or after (year)",
            "minimum": 1990,
            "maximum": 2100,
            "type": "integer",
            "description": "For example 2025."
          },
          "foundedYearMax": {
            "title": "Founded in or before (year)",
            "minimum": 1990,
            "maximum": 2100,
            "type": "integer",
            "description": "For example 2020."
          },
          "minAskingPrice": {
            "title": "Min asking price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only startups for sale with an asking price of at least this."
          },
          "maxAskingPrice": {
            "title": "Max asking price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only startups for sale with an asking price of at most this."
          },
          "minMultiple": {
            "title": "Min revenue multiple",
            "minimum": 0,
            "type": "number",
            "description": "Asking price divided by annualized revenue, as TrustMRR computes it (e.g. 1.5)."
          },
          "maxMultiple": {
            "title": "Max revenue multiple",
            "minimum": 0,
            "type": "number",
            "description": "Asking price divided by annualized revenue (e.g. 2 = at most 2x)."
          },
          "paymentProviders": {
            "title": "Payment providers",
            "type": "array",
            "description": "Only startups whose verified revenue comes from one of these providers (primary or secondary). Checked on each startup profile; startups that do not match are skipped without charge. Share of the catalog (11,701 startups, 15 Oct 2026): Stripe 56%, RevenueCat 15%, Dodo Payments 12%, Polar 8%, Lemon Squeezy 4%, every other provider under 3%. Each candidate is first checked on its small Markdown profile, so a run can check up to 100 startups per requested row (at least 1,000); providers under 2% (Creem, Whop, Superwall, Shopify, App Store) can still return fewer rows than Max rows.",
            "items": {
              "type": "string",
              "enum": [
                "stripe",
                "revenuecat",
                "dodopayment",
                "polar",
                "lemonsqueezy",
                "creem",
                "shopify",
                "paddle",
                "superwall",
                "whop",
                "appstore"
              ],
              "enumTitles": [
                "Stripe",
                "RevenueCat",
                "Dodo Payments",
                "Polar",
                "Lemon Squeezy",
                "Creem",
                "Shopify",
                "Paddle",
                "Superwall",
                "Whop",
                "App Store"
              ]
            },
            "default": []
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "auto",
              "revenue",
              "mrr",
              "growth",
              "newest",
              "best-deal"
            ],
            "type": "string",
            "description": "Auto = total revenue for startups and founders, TrustMRR's \"best deals\" ranking for for-sale.",
            "default": "auto"
          },
          "maxCacheAgeHours": {
            "title": "Reuse profiles fetched in the last N hours",
            "minimum": 0,
            "maximum": 24,
            "type": "integer",
            "description": "When a shared cache is available, a startup or founder profile fetched by any run in the last N hours is reused instead of being fetched again (TrustMRR syncs revenue every few hours: median age 3.6 h). Reused rows carry cachedAt and cost the same. 0 = always fetch live.",
            "default": 3
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Requests in flight at once (each startup profile takes two requests). Higher values are faster on big runs; TrustMRR limits requests per connection, and the actor spreads them across connections on its own.",
            "default": 8
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}