> ## Documentation Index
> Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Data App を検索

> キーワードで Data App を検索しカードを返す。

**`GET`** `https://api-datahub.octoparse.com/v1/data-apps`

認証：任意。匿名でも利用可。API キーがあるとログイン向けフィルタと追加コンテンツが有効。

市場検索。匿名可。`q` が空なら最新公開順、非空なら関連度順。

API キーがあると 2 つの拡張が使えます:

* **ビュー切替**: `owner=me` は自分が公開した App（未公開下書き含む。カードに `status` と `scope`）。`shared_with=me` は 1 対 1 共有された App。
* **可視性スコープ**: ビュー切替なしでは `scope` が候補集合。既定/`public` は市場、`private` は自分の非公開、`shared` は共有可視すべて、`all` は現資格で見えるすべて（匿名では市場に縮退）。属性モードの `status` 既定は公開済みのみ。

カードは選定に必要な分だけ: 名前、要約、能力境界、入出力ヒント、実行モード、開始価格、料金表。完全な入出力契約・実行プロファイル・呼び出し例 は <a href="/docs/jp/datahub/api/reference/discovery/get-data-app">App 詳細</a> から。

## リクエスト

### クエリパラメータ

<ParamField query="q" type="string">
  任意言語のビジネスキーワード。範囲を絞るならプラットフォーム名を足す（例: `temu reviews`）。空ならカタログ一覧。
</ParamField>

<ParamField query="type" type="string">
  App 種別でフィルタ。`data` は外部データ取得、`transform` は既存データ処理。

  値: `data` / `transform`。
</ParamField>

<ParamField query="capability" type="string">
  能力でフィルタ。`data-acquisition` は取得、`data-processing` は処理。

  値: `data-acquisition` / `data-processing`。
</ParamField>

<ParamField query="owner" type="string">
  `me` で「自分が公開した App」ビューへ。API キー必須。
</ParamField>

<ParamField query="shared_with" type="string">
  `me` で「自分に共有された App」ビューへ。API キー必須。
</ParamField>

<ParamField query="scope" type="string">
  可視性スコープ。`public` は市場（既定）、`private` は自分の非公開、`shared` は共有関係内、`all` は可視全体。後ろ 3 つは API キー必須。

  値: `public` / `private` / `shared` / `all`。
</ParamField>

<ParamField query="status" type="string">
  ライフサイクル状態でフィルタ。`draft` / `published` / `deprecated`。属性モードの既定は `published`。

  値: `draft` / `published` / `deprecated`。
</ParamField>

<ParamField query="offset" type="integer" default="0">
  ページネーションオフセット。

  範囲 ≥ 0。
</ParamField>

<ParamField query="limit" type="integer" default="5">
  ページサイズ。

  範囲 1〜100。
</ParamField>

### リクエスト例

```bash theme={null}
curl \
  -H "Authorization: Bearer $OCTOPARSE_API_KEY" \
  "https://api-datahub.octoparse.com/v1/data-apps?q=reviews&limit=5"
```

## レスポンス

### 200 成功

```json theme={null}
{
  "data": {
    "items": [
      {
        "app_id": "app_6dfe4e839ccf",
        "namespace": "carol",
        "app_name": "probe-b",
        "name": "Product review lookup",
        "type": "data",
        "summary": "Fetch a review list by product id",
        "capability": "data-acquisition",
        "keywords": [
          "reviews",
          "ecommerce"
        ],
        "boundary": "Public reviews only; buyer-show images are not included",
        "required_input_hint": [
          "product"
        ],
        "main_output_hint": [
          "review_id",
          "content",
          "rating"
        ],
        "execution_mode": "sync",
        "price_from": 0.001,
        "pricing": {
          "events": [
            {
              "event": "record",
              "label": "One record",
              "unit_price": 0.001,
              "qty_from": "",
              "unit_size": null
            }
          ]
        },
        "match_score": 1.0,
        "published_at": "2026-09-15T07:45:38.633930+00:00",
        "updated_at": "2026-09-15T07:45:38.633930+00:00",
        "source_locale": "en-US"
      }
    ],
    "pagination": {
      "offset": 0,
      "limit": 5,
      "count": 1,
      "total": 1,
      "has_more": false
    },
    "low_confidence": false
  }
}
```

ペイロードは `data` に包まれます。フィールド:

<ResponseField name="items" type="object[]" required>
  Card list.
</ResponseField>

<ResponseField name="pagination" type="object" required>
  Pagination object.

  <Expandable title="fields">
    <ResponseField name="offset" type="integer">
      —
    </ResponseField>

    <ResponseField name="limit" type="integer">
      —
    </ResponseField>

    <ResponseField name="count" type="integer">
      —
    </ResponseField>

    <ResponseField name="total" type="integer">
      —
    </ResponseField>

    <ResponseField name="has_more" type="boolean">
      —
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="low_confidence" type="boolean">
  強い一致が足りず返却集合が弱いとき `true`。
</ResponseField>

### エラー

| HTTP | `code`         | `category`  | Description    |
| ---- | -------------- | ----------- | -------------- |
| 401  | `unauthorized` | `forbidden` | API キー欠落または無効。 |

エラー応答は `{"error": {code, category, message, retryable}}` です。<a href="/docs/jp/datahub/api/reference/introduction#errors">エラー</a> を参照。

## クライアントライブラリ

<CodeGroup>
  ```python Python theme={null}
  result = client.search("reviews", limit=5)
  for card in result["items"]:
      print(card["app_id"], card["namespace"], card["app_name"], card["price_from"])

  # Apps shared with me
  shared = client.search("", shared_with="me")
  ```

  ```js JavaScript theme={null}
  const result = await client.search("reviews", { limit: 5 });
  for (const card of result.items) {
    console.log(card.app_id, card.namespace, card.app_name, card.price_from);
  }

  // Apps shared with me
  const shared = await client.search("", { sharedWith: "me" });
  ```
</CodeGroup>
