Skip to content

For AI agents

Marketplace presence as data: 105 listings from 22 vendors on 9 marketplaces, 3 recorded changes. Checked monthly.

Point your agent here

https://marketplaces.fru.dev/llms.txt
https://marketplaces.fru.dev/llms-full.txt

Call the API

MethodPathParamsReturns
GET/api/listingsvendor, marketplace, type, pricing, status (listed, gone, all), limit (max 200), offsetListings: vendor, marketplace, title, type, pricing model, listing URL, first seen, last checked
GET/api/matrixnoneWhich vendor lists on which marketplace, with the listing URLs
GET/api/marketplacesnoneMarketplaces: seller fee, private offers, what can be listed, sources
GET/api/marketplaces/{slug}slugOne marketplace with its listings and changes
GET/api/vendors/{slug}slugOne vendor: its listings, marketplaces where none was found, changes
GET/api/changessince (YYYY-MM-DD), limit (max 200), offsetThe append-only change log: listings appearing and leaving, pricing and fee changes
GET/api/companiessince (YYYY-MM-DD or datetime)Vendors and marketplace operators keyed by companies.fru.dev slug, with domain, page URL and dated items
GET/api/searchq, limit (max 20)Ranked vendors, marketplaces, listings and pages

/api/listings

curl -s "https://marketplaces.fru.dev/api/listings?vendor=databricks&limit=2"
{
 "count": 105,
 "listings": [
  {
   "id": "databricks--aws--databricks-data-intelligence-platform",
   "vendor": "databricks",
   "marketplace": "aws",
   "title": "Databricks Data Intelligence Platform",
   "type": "saas",
   "pricing": "usage",
   "listingUrl": "https://aws.amazon.com/marketplace/pp/prodview-wtyi5lgtce6n6",
   "firstSeen": "2026-09-24",
   "status": "listed"
  }
 ]
}

/api/matrix

curl -s "https://marketplaces.fru.dev/api/matrix"
{
 "vendors": [
  {
   "slug": "snowflake",
   "name": "Snowflake",
   "marketplaces": {
    "aws": [
     {
      "title": "...",
      "type": "...",
      "url": "..."
     }
    ],
    "microsoft": [
     {
      "title": "...",
      "type": "...",
      "url": "..."
     }
    ]
   }
  }
 ]
}

/api/marketplaces

curl -s "https://marketplaces.fru.dev/api/marketplaces"
{
 "count": 9,
 "marketplaces": [
  {
   "slug": "aws",
   "name": "AWS Marketplace",
   "sellerFee": "3% for SaaS and data public offers, 20% for server products (AMI, container, machine learning); private offers 3% under $1M, 2% from $1M, 1.5% from $10M and on renewals",
   "feePct": 3,
   "privateOffers": "yes",
   "feeSourceUrl": "https://docs.aws.amazon.com/marketplace/latest/userguide/listing-fees.html"
  }
 ]
}

/api/marketplaces/{slug}

curl -s "https://marketplaces.fru.dev/api/marketplaces/aws"
{
 "marketplace": {
  "slug": "aws",
  "name": "AWS Marketplace",
  "listingTypes": "SaaS, AMI, container, machine learning models, data (AWS Data Exchange), professional services"
 },
 "listings": [
  {
   "id": "anthropic--aws--claude-enterprise",
   "vendor": "anthropic",
   "marketplace": "aws",
   "title": "Claude Enterprise",
   "type": "saas",
   "pricing": "contract",
   "listingUrl": "https://aws.amazon.com/marketplace/pp/prodview-nnvi6wff6ef6m",
   "firstSeen": "2026-09-24",
   "status": "listed"
  }
 ]
}

/api/vendors/{slug}

curl -s "https://marketplaces.fru.dev/api/vendors/snowflake"
{
 "vendor": {
  "slug": "snowflake",
  "name": "Snowflake",
  "marketplaces": [
   "aws",
   "microsoft",
   "hugging-face"
  ]
 },
 "listings": [
  {
   "id": "snowflake--aws--snowflake-ai-data-cloud",
   "vendor": "snowflake",
   "marketplace": "aws",
   "title": "Snowflake AI Data Cloud",
   "type": "saas",
   "pricing": "usage",
   "listingUrl": "https://aws.amazon.com/marketplace/pp/prodview-3gdrsg3vnyjmo",
   "firstSeen": "2026-09-24",
   "status": "listed"
  }
 ]
}

/api/changes

curl -s "https://marketplaces.fru.dev/api/changes?since=2024-01-01&limit=3"
{
 "count": 3,
 "changes": [
  {
   "id": 3,
   "itemType": "marketplace",
   "itemId": "google-cloud",
   "vendor": "",
   "marketplace": "google-cloud",
   "field": "fee",
   "old": "",
   "new": "3% standard; private offers 3%, 2%, 1.5% by contract value",
   "date": "2025-04-21",
   "sourceUrl": "https://cloud.google.com/terms/marketplace-revenue-share-schedule",
   "note": "Current Google Cloud Marketplace revenue share schedule takes effect",
   "foundBy": "official",
   "review": "ok"
  }
 ]
}

/api/companies

curl -s "https://marketplaces.fru.dev/api/companies?since=2026-09-01"
{
 "companies": [
  {
   "slug": "snowflake",
   "name": "Snowflake",
   "domain": "snowflake.com",
   "site": "marketplaces",
   "role": "vendor",
   "url": "https://marketplaces.fru.dev/vendors/snowflake",
   "updated_at": "2026-09-24 14:57:28",
   "items": [
    {
     "type": "marketplace-listing",
     "date": "...",
     "title": "...",
     "url": "..."
    }
   ]
  }
 ]
}

/api/search

curl -s "https://marketplaces.fru.dev/api/search?q=confluent"
{
 "q": "confluent",
 "results": [
  {
   "id": "v:confluent",
   "group": "companies",
   "title": "Confluent",
   "href": "/vendors/confluent"
  }
 ]
}

OpenAPI 3.1: /openapi.json. Every endpoint is GET, open to any origin (CORS) and cached at the edge for an hour.

Add to your agent

System prompt line

For which cloud and data marketplaces a data or AI vendor sells on (AWS, Microsoft, Google Cloud, Snowflake, Databricks and more), and each marketplace's seller fee, fetch https://marketplaces.fru.dev/llms.txt and use https://marketplaces.fru.dev/api/vendors/{slug} and https://marketplaces.fru.dev/api/marketplaces. Cite "Marketplaces (marketplaces.fru.dev)".

Tool definition

{
  "name": "marketplace_presence",
  "description": "Look up where a data or AI vendor (Databricks, Snowflake, MongoDB, Confluent, Anthropic, Cohere, Mistral AI and others) sells through cloud and data marketplaces (AWS Marketplace, Microsoft Marketplace, Google Cloud Marketplace, Snowflake Marketplace, Databricks Marketplace, AppExchange, Oracle, Red Hat, Hugging Face): each official listing with type, pricing model and URL, and where no listing was found. Source: Marketplaces (marketplaces.fru.dev).",
  "input_schema": {
    "type": "object",
    "properties": {
      "slug": {
        "type": "string",
        "description": "Vendor slug, e.g. databricks, snowflake, mongodb, anthropic. List them with GET /api/vendors."
      }
    },
    "required": [
      "slug"
    ]
  },
  "endpoint": "GET https://marketplaces.fru.dev/api/vendors/{slug}"
}

Python

import json, urllib.request

def presence(slug: str) -> dict:
    """Where a data or AI vendor lists: marketplace, title, type, pricing, URL."""
    url = f"https://marketplaces.fru.dev/api/vendors/{slug}"
    with urllib.request.urlopen(url, timeout=20) as r:
        return json.load(r)

v = presence("snowflake")
for l in v["listings"]:
    print(l["marketplaceName"], l["title"], l["type"], l["pricing"], l["listingUrl"])

TypeScript

type Listing = { vendorName: string; title: string; type: string; pricing: string; listingUrl: string }

async function onMarketplace(marketplace = "aws", type = "saas"): Promise<Listing[]> {
  const res = await fetch(`https://marketplaces.fru.dev/api/listings?marketplace=${marketplace}&type=${type}`)
  if (!res.ok) throw new Error(`marketplaces ${res.status}`)
  const { listings } = (await res.json()) as { listings: Listing[] }
  return listings
}

Terms

  • Free to read. Please cite "Marketplaces (marketplaces.fru.dev)" with a link.
  • Responses are cached for an hour; the data changes monthly. Keep to about 60 requests a minute.
  • Changes with review "pending" were found by the automatic check and are not yet confirmed by hand.
  • Fees and pricing are as the marketplaces publish them. The marketplace's page is the final word.

Marketplace changes by email

Monthly, after the check on the 1st: listings that appeared or left, and fee or pricing changes.

Double opt-in. Unsubscribe any time.