---
title: APIのレスポンスをコンテンツカテゴリで絞り込みたい
description: contents_typeのパラメータを指定して絞込みしてください。コンテンツカテゴリの親子関係を考慮する場合はcategory_parent_idやexclude_category_parent_idのパラメータを利用します。
category: howto
---

import StructuredDataFaqs from '@site/src/components/StructuredDataFaqs';

<StructuredDataFaqs faqs={[
    { question: "APIのレスポンスをコンテンツカテゴリで絞り込みたい", answer: "contents_typeのパラメータを指定して絞込みしてください。コンテンツカテゴリの親子関係を考慮する場合はcategory_parent_idやexclude_category_parent_idのパラメータを利用します。" }
]} />

`contents_type`のパラメータを指定して絞込みしてください。  
コンテンツカテゴリの親子関係を考慮する場合は`category_parent_id`や`exclude_category_parent_id`のパラメータを利用します。

## コンテンツ例
以下のコンテンツをフィルターした場合の結果を確認します。

|トピックスID|タイトル|コンテンツカテゴリID|カテゴリ名|
|:--|:--|:--|:--|
|1152|親カテゴリの記事|17|親NEWS|
|1153|子カテゴリの記事|54|子NEWS|
|1154|孫カテゴリの記事|55|孫NEWS|

- コンテンツカテゴリ設定
  ![Image from Gyazo](https://t.gyazo.com/teams/diverta/bae8bc040d19387a4a4a3fd4ca6cad31.png)

- コンテンツ一覧
  ![Image from Gyazo](https://t.gyazo.com/teams/diverta/7b63f011c03ab287ea84bc56d69059ad.png)

### contents_typeでのフィルター
`contents_type`によるフィルターはコンテンツカテゴリの親子関係を考慮しないため、指定したコンテンツカテゴリに所属するコンテンツの一覧がレスポンスされます。

#### contents_type=[17]を指定 
「親カテゴリの記事」のみが表示されます。  

Request URL：  
`https://example.g.kuroco.app/rcms-api/13/news?contents_type%5B%5D=17`

Response body：
```json
{
  "errors": [],
  "messages": [],
  "list": [
    {
      "topics_id": 1152,
      "ymd": "2023-02-16",
      "contents_type": 17,
      "contents": "",
      "subject": "親カテゴリの記事",
      ・
      ・
      ・
    }
  ],
  "pageInfo": {
    "totalCnt": 1,
    ・
    ・
    ・
  }
}
```

#### contents_type=[17,54]を指定
「親カテゴリの記事」と「子カテゴリの記事」が表示されます。  

Request URL：  
`https://example.g.kuroco.app/rcms-api/13/news?contents_type%5B%5D=17&contents_type%5B%5D=54`

Response body：
```json
{
  "errors": [],
  "messages": [],
  "list": [
    {
      "topics_id": 1152,
      "ymd": "2023-02-16",
      "contents_type": 17,
      "contents": "",
      "subject": "親カテゴリの記事",
      ・
      ・
      ・
    },
    {
      "topics_id": 1153,
      "ymd": "2023-02-16",
      "contents_type": 54,
      "contents": "",
      "subject": "子カテゴリの記事",
      ・
      ・
      ・
    }
  ],
  "pageInfo": {
    "totalCnt": 2,
    ・
    ・
    ・
  }
}
```

### category_parent_idでのフィルター
`category_parent_id`によるフィルターはコンテンツカテゴリの親子関係を考慮するため、指定したコンテンツカテゴリとその配下のカテゴリに所属するコンテンツの一覧がレスポンスされます。

#### category_parent_id=[17]を指定
「親カテゴリの記事」「子カテゴリの記事」「孫カテゴリの記事」が表示されます。  

Request URL：  
`https://example.g.kuroco.app/rcms-api/13/news?category_parent_id%5B%5D=17`

Response body：
```json
{
  "errors": [],
  "messages": [],
  "list": [
    {
      "topics_id": 1152,
      "ymd": "2023-02-16",
      "contents_type": 17,
      "contents": "",
      "subject": "親カテゴリの記事",
      ・
      ・
      ・
    },
    {
      "topics_id": 1153,
      "ymd": "2023-02-16",
      "contents_type": 54,
      "contents": "",
      "subject": "子カテゴリの記事",
      ・
      ・
      ・
    },
    {
      "topics_id": 1154,
      "ymd": null,
      "contents_type": 55,
      "contents": "",
      "subject": "孫カテゴリの記事",
      ・
      ・
      ・
    }
  ],
  "pageInfo": {
    "totalCnt": 3,
    ・
    ・
    ・
  }
}
```

#### category_parent_id=[54]を指定
「子カテゴリの記事」と「孫カテゴリの記事」が表示されます。 

Request URL：  
`https://example.g.kuroco.app/rcms-api/13/news?category_parent_id%5B%5D=54`

Response body：
```json
{
  "errors": [],
  "messages": [],
  "list": [
    {
      "topics_id": 1153,
      "ymd": "2023-02-16",
      "contents_type": 54,
      "contents": "",
      "subject": "子カテゴリの記事",
      ・
      ・
      ・
    },
    {
      "topics_id": 1154,
      "ymd": null,
      "contents_type": 55,
      "contents": "",
      "subject": "孫カテゴリの記事",
      ・
      ・
      ・
    }
  ],
  "pageInfo": {
    "totalCnt": 2,
    ・
    ・
    ・
  }
}
```

### exclude_category_parent_idでのフィルター
`exclude_category_parent_id`によるフィルターを使うと、指定したコンテンツカテゴリとその配下のカテゴリに所属するコンテンツの一覧がレスポンスから除外されます。

#### exclude_category_parent_id=[54]を指定
「親カテゴリの記事」のみが表示されます。

Request URL：  
`https://example.g.kuroco.app/rcms-api/13/news?exclude_category_parent_id%5B%5D=54`
	
Response body：
```json
{
  "errors": [],
  "messages": [],
  "list": [
    {
      "topics_id": 1152,
      "ymd": "2023-02-16",
      "contents_type": 17,
      "contents": "",
      "subject": "親カテゴリの記事",
      ・
      ・
      ・
    }
  ],
  "pageInfo": {
    "totalCnt": 1,
    ・
    ・
    ・
  }
}
```

## 関連ドキュメント
- [APIのレスポンスをタグカテゴリで絞り込みたい](/ja/docs/faq/filtering-api-responses-by-tag-category)