curl -X POST https://api.tryprofound.com/v2/reports/citations \
-H "X-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"start_date": "2026-06-09",
"end_date": "2026-06-15"
}'
curl -X POST https://api.tryprofound.com/v2/reports/citations \
-H "X-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"start_date": "2026-06-09",
"end_date": "2026-06-15",
"filter": {
"field": "citation_tag",
"op": "in",
"value": ["Editorial", "Docs"]
}
}'
{
"info": {
"total_results": 11662,
"count": 10,
"next_cursor": "Z0FBQUFBQnFQcWdrbDRiSHpGaktVNm5N...",
"scope": "all",
"models": ["ChatGPT", "Google Gemini", "Perplexity", "Claude", "..."],
"metrics": ["count", "citation_share", "rank"],
"analysis_types": ["visibility"],
"start_date": "2026-06-09",
"end_date": "2026-06-15",
"filter": null
},
"data": [
{ "domain": "reddit.com", "rank": 1, "count": 13940, "citation_share": 0.040 },
{ "domain": "youtube.com", "rank": 2, "count": 16287, "citation_share": 0.037 },
{ "domain": "tryprofound.com", "rank": 3, "count": 10414, "citation_share": 0.029 }
// ...7 more rows in this page (count: 10, total_results: 11662); paginate with next_cursor
]
}
引用
curl -X POST https://api.tryprofound.com/v2/reports/citations \
-H "X-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"start_date": "2026-06-09",
"end_date": "2026-06-15"
}'
curl -X POST https://api.tryprofound.com/v2/reports/citations \
-H "X-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"start_date": "2026-06-09",
"end_date": "2026-06-15",
"filter": {
"field": "citation_tag",
"op": "in",
"value": ["Editorial", "Docs"]
}
}'
{
"info": {
"total_results": 11662,
"count": 10,
"next_cursor": "Z0FBQUFBQnFQcWdrbDRiSHpGaktVNm5N...",
"scope": "all",
"models": ["ChatGPT", "Google Gemini", "Perplexity", "Claude", "..."],
"metrics": ["count", "citation_share", "rank"],
"analysis_types": ["visibility"],
"start_date": "2026-06-09",
"end_date": "2026-06-15",
"filter": null
},
"data": [
{ "domain": "reddit.com", "rank": 1, "count": 13940, "citation_share": 0.040 },
{ "domain": "youtube.com", "rank": 2, "count": 16287, "citation_share": 0.037 },
{ "domain": "tryprofound.com", "rank": 3, "count": 10414, "citation_share": 0.029 }
// ...7 more rows in this page (count: 10, total_results: 11662); paginate with next_cursor
]
}
page でグループ化します。自社が所有するドメインのみを表示するには scope: "owned" を使用します。
- 指標:
count(引用の生の件数)、citation_share(モデルごとの平均シェア)、rank、first_cited_at(ページのみ)。 group_by:page、date、model、topic、region、persona、prompt。sortなし: 行は常に引用数の多い順に並びます。- 引用レイヤーのフィルタ:
domain(サブドメインを考慮)、page、analysis_type(visibility·sentiment·factcheck·all)、citation_category(owned·competition·social·earned_media·earned_institutions·pr_wire·other·カスタム)、citation_tag(カスタムタグ。Get Citation Tags で一覧を取得できます)。
citation_category と citation_tag はどちらもトップレベルの and リーフで、
is / in を受け付けます。1 つの in 内の値は OR で結合されるため、
{"field": "citation_tag", "op": "in", "value": ["Editorial", "Docs"]}
はいずれかのタグを持つ URL に一致します。count と citation_share は異なるものを測定します。citation_share は
AI モデルごとに平均されるため、生の count と同じ順序で並ぶとは限りません。ストリーミング (SSE) バリアント (同じボディ、/stream)
ストリーミング (SSE) バリアント (同じボディ、/stream)
POST /v2/reports/citations/stream は 同じリクエストボディ を受け取り、
Server-Sent Events を返します。
まず 1 つの summary イベント (info ブロック) が送信され、続いて行ごとに 1 つの result イベントが送信されます。
limit/cursor は無視され、デフォルトではすべての結果が返されます。上限を設けるには
max_results を指定します。event: summary
data: { ...the info block... }
event: result ← one per row, same shape as data[] above
data: {"domain": "reddit.com", "rank": 1, "count": 13940, "citation_share": 0.040}
curl -X POST https://api.tryprofound.com/v2/reports/citations \
-H "X-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"start_date": "2026-06-09",
"end_date": "2026-06-15"
}'
curl -X POST https://api.tryprofound.com/v2/reports/citations \
-H "X-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"start_date": "2026-06-09",
"end_date": "2026-06-15",
"filter": {
"field": "citation_tag",
"op": "in",
"value": ["Editorial", "Docs"]
}
}'
{
"info": {
"total_results": 11662,
"count": 10,
"next_cursor": "Z0FBQUFBQnFQcWdrbDRiSHpGaktVNm5N...",
"scope": "all",
"models": ["ChatGPT", "Google Gemini", "Perplexity", "Claude", "..."],
"metrics": ["count", "citation_share", "rank"],
"analysis_types": ["visibility"],
"start_date": "2026-06-09",
"end_date": "2026-06-15",
"filter": null
},
"data": [
{ "domain": "reddit.com", "rank": 1, "count": 13940, "citation_share": 0.040 },
{ "domain": "youtube.com", "rank": 2, "count": 16287, "citation_share": 0.037 },
{ "domain": "tryprofound.com", "rank": 3, "count": 10414, "citation_share": 0.029 }
// ...7 more rows in this page (count: 10, total_results: 11662); paginate with next_cursor
]
}
承認
ボディ
YYYY-MM-DD, ET, inclusive
YYYY-MM-DD, ET, inclusive
What each row represents: domain (default), page, or citation_category. Legacy: group_by: ["page"] (with entity omitted) is still accepted and is equivalent to entity: "page". citation_category uses the dashboard split view: a citation counts under both its page-level and domain-level category, so category shares can sum to more than 100%.
domain, page, citation_category page, date, model, topic, region, persona, prompt count, citation_share, rank, first_cited_at day, week, month all (every cited domain) or owned (only your owned domains). Applies to entity=domain.
all, owned citation_category filters on a cited URL's single category; citation_tag filters on the custom citation tags a URL carries (a URL can carry several). List the category's tags with GET /v1/org/categories/{category_id}/citation-tags.
Show child attributes
Show child attributes
Page size; default 10, max 50.
0 < x <= 50Stream endpoint only: cap the number of streamed rows (default: all).
x > 0このページは役に立ちましたか?