---
title: "List published hub workflows"
method: GET
path: "/api/hub/workflows"
tags: ["hub"]
---

# List published hub workflows

`GET /api/hub/workflows`

[cloud-only] Returns a paginated list of publicly shared workflows on the hub.

## Query parameters

- `limit` integer
- `offset` integer
- `sort` string
- `order` 'asc' | 'desc'
- `search` string
- `labels` string

## Response `200`

Hub workflow list

- HubWorkflowListResponse — [cloud-only] Paginated list of Hub workflows matching search criteria.
  - `workflows` union[], required — Array of HubWorkflowSummary (default) or HubWorkflowDetail (when detail=true).
    - union
      - HubWorkflowSummary — [cloud-only] Abbreviated Hub workflow metadata used in search and listing results.
        - `share_id` string, required
        - `name` string, required
        - `status` 'pending' | 'approved' | 'rejected' | 'deprecated', required — [cloud-only] Public workflow status. NULL in the database is represented as pending in API responses.
        - `description` string
        - `tags` LabelRef[]
          - `name` string, required — Slug identifier (e.g. "video-generation", "flux").
          - `display_name` string, required — Human-readable display name (e.g. "Video Generation", "Flux").
        - `models` LabelRef[]
          - `name` string, required — Slug identifier (e.g. "video-generation", "flux").
          - `display_name` string, required — Human-readable display name (e.g. "Video Generation", "Flux").
        - `custom_nodes` LabelRef[]
          - `name` string, required — Slug identifier (e.g. "video-generation", "flux").
          - `display_name` string, required — Human-readable display name (e.g. "Video Generation", "Flux").
        - `thumbnail_type` 'image' | 'video' | 'image_comparison'
        - `thumbnail_url` string
        - `thumbnail_comparison_url` string
        - `publish_time` string, date-time, nullable
        - `profile` HubProfileSummary, required — [cloud-only] Abbreviated Hub profile used in workflow listings.
          - `username` string, required
          - `display_name` string
          - `avatar_url` string — Public URL of the profile avatar image.
        - `metadata` object
        - `tutorial_url` string
        - `sample_image_urls` string[]
      - HubWorkflowDetail — [cloud-only] Full Hub workflow detail including versions, assets, and statistics.
        - `share_id` string, required
        - `workflow_id` string, required
        - `name` string, required
        - `status` 'pending' | 'approved' | 'rejected' | 'deprecated', required
        - `description` string
        - `thumbnail_type` 'image' | 'video' | 'image_comparison'
        - `thumbnail_url` string
        - `thumbnail_comparison_url` string
        - `tutorial_url` string
        - `metadata` object
        - `sample_image_urls` string[]
        - `publish_time` string, date-time, nullable
        - `workflow_json` object, required
        - `assets` AssetInfo[], required
          - `id` string, required
          - `filename` string, required
          - `mime_type` string
          - `size_bytes` integer
        - `profile` HubProfile, required — [cloud-only] A public user profile on the ComfyUI Hub.
          - `username` string, required
          - `display_name` string
          - `bio` string
          - `avatar_url` string, uri
          - `links` string[]
          - `workflow_count` integer
          - `created_at` string, date-time
  - `next_cursor` string — Cursor for the next page, empty if no more results.

## Other responses

- `400` — Bad request (e.g. malformed pagination cursor)
- `404` — Profile not found (when filtering by username)
- `500` — Internal server error

## Changes

- **2026-05-22** `c4db9e1283df` — 5 breaking, 10 warning, 2 info
  - the `workflows/items/` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `has_more` from the response with the `200` status
  - removed the required property `total` from the response with the `200` status
  - removed the required property `workflows/items/name` from the response with the `200` status
  - …13 more
- **2026-05-22** `09a5075587c8` — 3 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `404`
  - added the non-success response with the status `500`
- **2026-05-08** `c9640fded659` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/comfy-org/apis/comfyui-api/changes/api/hub/workflows/get.md)

---

[API](https://skmtc.dev/comfy-org/apis/comfyui-api.md) · [All operations](https://skmtc.dev/comfy-org/apis/comfyui-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/comfy-org/comfyui-api/revisions/c4db9e1283df/schema)
