Skip to main content

Endpoint

GET /api/hub/catalogs
Returns a paginated list of published catalogs in the Marketplace Hub. This is a public endpoint — no authentication required.

Query parameters

ParameterTypeDefaultDescription
qstringSearch query (matches name, description, tags)
categorystringFilter by category slug (e.g., apparel, electronics, home-goods)
sortstringpopularSort order: popular, recent, score
minScorenumberMinimum average optimization score (0–100)
pricestringFilter by pricing: free or paid
limitnumber20Results per page (max: 100)
offsetnumber0Pagination offset

Response

{
  "catalogs": [
    {
      "id": "hub_cat_9x8k2m",
      "name": "Spring 2026 Apparel",
      "description": "500+ SKUs of curated spring apparel from top European brands.",
      "publisher": {
        "workspaceId": "ws_abc",
        "displayName": "EuroFashion Wholesale",
        "verified": true
      },
      "productCount": 512,
      "price": {
        "model": "free"
      },
      "category": "apparel",
      "tags": ["spring", "2026", "european", "fashion"],
      "score": 78,
      "subscribers": 34,
      "publishedAt": "2026-02-01T09:00:00Z",
      "lastUpdatedAt": "2026-03-10T14:30:00Z",
      "version": 5
    }
  ],
  "total": 147,
  "hasMore": true
}

HubCatalog fields

FieldTypeDescription
idstringHub catalog ID
namestringDisplay name
descriptionstringShort description (max 140 chars in card view)
publisher.workspaceIdstringPublisher’s workspace ID
publisher.displayNamestringPublisher’s display name
publisher.verifiedbooleanWhether the publisher is verified
productCountnumberTotal products in the catalog
price.modelstring"free" or "paid"
price.amountnumberPrice in USD (only for "paid" catalogs)
price.intervalstring"one_time" or "monthly" (only for "paid")
categorystringPrimary category slug
tagsstring[]Up to 10 tags
scorenumberAverage optimization score (0–100)
subscribersnumberActive subscriber count
publishedAtstringISO 8601 timestamp of first publication
lastUpdatedAtstringISO 8601 timestamp of last version
versionnumberCurrent version number

Pagination fields

FieldTypeDescription
totalnumberTotal matching catalogs (ignoring limit/offset)
hasMorebooleanWhether more results are available

Examples

# Browse all catalogs (default: sorted by popular, 20 per page)
curl "https://app.alana.shopping/api/hub/catalogs"

# Search for apparel catalogs with a high score
curl "https://app.alana.shopping/api/hub/catalogs?q=apparel&category=apparel&sort=score&minScore=70&limit=50"

# Get free catalogs sorted by most recent
curl "https://app.alana.shopping/api/hub/catalogs?price=free&sort=recent&limit=20"

# Paginate: second page
curl "https://app.alana.shopping/api/hub/catalogs?limit=20&offset=20"

Available categories

SlugDisplay name
apparelApparel & Fashion
electronicsElectronics & Tech
home-goodsHome & Living
beautyBeauty & Personal Care
sportsSports & Outdoors
food-beverageFood & Beverage
officeOffice & B2B Supplies
automotiveAutomotive
toysToys & Games
healthHealth & Wellness

Error responses

HTTP statusCodeDescription
400VALIDATION_ERRORInvalid query parameter value
429RATE_LIMIT_EXCEEDEDSlow down — 60 requests/minute for public endpoint
Last modified on March 18, 2026