# Quora 话题列表 API (quora.topics)

- Canonical page: https://everyinfra.com/quora-api/topics
- Endpoint: POST https://api.everyinfra.com/api/v1/social with {"platform": "quora", "action": "topics", "params": {...}}
- Price: $0.001389 per call ($1.39 per 1,000 requests); failed calls and empty results are not charged
- Returns: list, default 20, max 200 per call
- Mode: sync; add "mode": "async" for slow tasks

Quora 话题列表用主题词 `keyword` 查找匹配的话题页，每行带记录类型 `type`、话题名称或标题、链接、话题 ID `topic_id`，Quora 公开时还带关注人数。它回答「这个主题的讨论在 Quora 上归在哪些话题下」，适合内容营销和 SEO 团队挑选要关注和回答的话题，以及社区研究者梳理一个主题周边的领域。

`keyword` 是主题词，例如 programming，用来发现话题页，不能按问题标题或链接查找。`date_range` 设定检索的时间窗，短到最近一小时、长到最近一年，也可以不限。`follower_count` 为 null 表示没有公开，不等于没人关注。具体的问题和回答，用 Quora 问题列表和回答列表检索。

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=quora&action=topics

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| keyword | not declared | yes | not declared | Quora 主题搜索词；用于发现 topic 页，不是问题标题的精确 URL 查询。 |
| date_range | enum: all_time_broadest_discovery / past_day_last_24_hours / past_hour_very_recent_results / past_month_last_30_days / past_week_last_7_days / past_year_last_12_months | no | not declared | Quora 关键词搜索的新鲜度窗口：all_time_broadest_discovery 不限，past_hour_very_recent_results 最近一小时，past_day_last_24_hours 最近一天，past_week_last_7_days 最近一周，past_month_last_30_days 最近一月，past_year_last_12_months 最近一年。 |
| limit | integer (1–200) | no | 20 | 这次调用最多返回的条数，整数，1–200；不传按默认值，实际返回可能少于这个数。超过上限会在扣费前返回 422。 |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| type | 记录类型，取值随能力而定（如 video / image / text）。 |
| url | 该记录在原平台上的可访问链接。 |
| platform | 数据来源平台标识，与请求里的 platform 一致（如 xiaohongshu、tiktok）。 |
| title | 标题。平台无标题概念时（如纯文本帖）为 null。 |
| posted_at | 发布时间，ISO 8601 格式、UTC 时区（如 2026-08-07T12:34:56+00:00）。平台只给非标准字符串时原样透传，解析前建议做容错。null 表示平台未公开。 |
| answer_count | 回答数。 |
| comment_count | 评论数。null 表示不公开，不等于 0。 |
| follower_count | 粉丝数。null 表示不公开，不等于 0。 |
| is_locked | 是否锁定。 |
| is_sensitive | 是否为敏感内容。 |
| text | 正文内容，已去除 HTML 标签，全文返回、不截断（个别平台的列表结果本身只有摘要，以该平台的字段说明为准）。 |
| author_name | 作者昵称（显示名）。 |
| author_url | 作者在原平台的主页链接。 |
| author_credential | 作者资历标注（Quora 要求回答者标明相关背景）。 |
| upvote_count | 赞同数。 |
| share_count | 分享/转发数。null 表示不公开，不等于 0。 |
| view_count | 浏览/播放数。null 表示不公开，不等于 0。 |
| question_id | 问题 ID。 |
| question_url | 问题链接。 |
| space_name | 所属 Space（Quora 的社区单元）。 |
| name | 名称。用于账号/商品/商家类能力，指该对象本身的名字。 |
| user_id | 用户在原平台的唯一 ID。 |
| credential | 资历说明。 |
| avatar_url | 头像图片链接。部分平台给的是带尺寸参数的 CDN 链接，可能有时效。 |
| topic_id | 话题 ID。 |
| photo_url | 图片链接。 |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "quora",
  "action": "topics",
  "params": {
    "keyword": "programming"
  }
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "quora",
        "action": "topics",
        "params": {
            "keyword": "programming",
        },
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

Real response to the example request above, captured 2026-09-26T08:56:04Z. `results` and `count` are real with personal information (names, handles, avatars, profile links, contact details) removed; the list keeps the first 2 of 20. `id`, `billing` and `quota` differ on every call, so only their shape is shown.

```text
{
  "id": "req_…",
  "platform": "quora",
  "action": "topics",
  "results": [
    {
      "type": "topic",
      "url": "https://www.quora.com/topic/Computer-Programming",
      "platform": "quora",
      "name": "Computer Programming",
      "topic_id": 788,
      "follower_count": 5588652,
      "photo_url": "https://qph.cf2.quoracdn.net/main-thumb-t-785-100-SPdel3dlJbwe69kzHRdC9zraBLeasYX0.jpeg"
    },
    {
      "type": "topic",
      "url": "https://www.quora.com/topic/Computer-Programmers",
      "platform": "quora",
      "name": "Computer Programmers",
      "topic_id": 8333,
      "follower_count": 895391,
      "photo_url": "https://qph.cf2.quoracdn.net/main-thumb-t-8333-100-LFuCOf9qFPgeqiYDDa8NErkhJzKhe2ZG.jpeg"
    }
  ],
  "count": 20,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### `keyword` 应该填什么？

填主题词，例如 programming 或某个产品品类。话题列表用它发现匹配的话题页，不会按标题或链接取某个具体问题；想要包含这个词的问题或回答，用 Quora 问题列表或回答列表，它们接受同样的 `keyword` 检索词。一个主题可能对应好几个话题页，换近义词多搜几轮，按 `topic_id` 合并，就是这个领域的话题地图。定下要经营的话题后，把话题名称当作 `keyword` 交给问题列表，找出和它相关的具体问题。

### `date_range` 该选哪一档？

看你要的是存量还是新动向。`all_time_broadest_discovery` 不设时间限制，发现范围最广，适合第一次梳理一个领域；`past_year_last_12_months`、`past_month_last_30_days`、`past_week_last_7_days`、`past_day_last_24_hours` 依次收窄到最近一年、一月、一周、一天，`past_hour_very_recent_results` 最窄，只有一小时。

### `follower_count` 为 null 是没人关注吗？

不是。null 表示 Quora 没有公开这个数，不等于 0。按关注人数给话题排序时，把 null 的行单独放一边，不要排到末尾；需要核对某个话题时，打开这一行的 `url` 自己看。同一个主题词交给用户资料列表，拿回的是在这个领域活跃的人，不是话题。名单要对外展示时，先用 `is_sensitive` 筛掉敏感话题。

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=quora
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
