开发者指南:Wikiprompt /dataset 端点
一份精确的、参考风格的 `/dataset` 清单和 `/dataset/prompts` 端点指南:响应结构、每个字段、键集分页、缓存和错误处理。

开发者指南:Wikiprompt /dataset 端点
Wikiprompt 是一个公开、精选的 AI 提示词目录,涵盖 ChatGPT、Claude、Gemini、GPT Image、Midjourney、Seedance、Veo、Kling、Nano Banana、Grok 等。与其通过抓取实时网站来以编程方式获取该目录,现在有一个专用的批量导出端点:/dataset。本文以你期望第三方 API 被记录的方式来记录它:响应结构、字段语义、分页机制、缓存和错误处理,并附有可运行的示例。
两个端点,一个任务
你只需要两个 URL:
https://www.wikiprompt.org/dataset(清单)https://www.wikiprompt.org/dataset/prompts(数据)清单是关于导出的元数据。数据端点本身是分页的导出内容。两者都返回纯 JSON,无需 API 密钥,无需认证头,无需注册。
清单响应
对 数据集 清单执行 GET 会返回类似这样的内容:
{
"total_prompts": 55000,
"record_fields": [
"slug", "url", "title", "description", "content",
"category", "tags", "media", "model", "metadata",
"author", "original_source", "created_at", "updated_at"
],
"pagination": {
"endpoint": "https://www.wikiprompt.org/dataset/prompts",
"cursor_param": "after",
"limit_param": "limit",
"default_limit": 200,
"max_limit": 500
}
}
将 total_prompts 视为一个实时、近似计数,而不是固定常量。目录每天都在增长,所以请将你的集成绑定到 record_fields 和 pagination 块,而不是在代码中硬编码计数。
数据响应
对 /dataset/prompts 执行 GET 会返回一页记录以及下一页的游标:
{
"count": 500,
"records": [
{
"slug": "one-brick-monumental-shadow-architectural-photo",
"url": "https://www.wikiprompt.org/one-brick-monumental-shadow-architectural-photo",
"title": "One Brick: Monumental Shadow Architectural Photo",
"description": "A single brick photographed to cast a monumental architectural shadow.",
"content": "实际的提示词文本在这里,逐字呈现",
"category": "creative",
"tags": ["photography", "architecture", "shadow-play"],
"media": ["https://www.wikiprompt.org/media/tw/..."],
"model": "Midjourney",
"metadata": {
"media_type": "image",
"aspect_ratio": "16:9",
"style": ["minimalist", "high-contrast"],
"assessment": { "creativity": 4, "usefulness": 3 }
},
"author": "some_handle",
"original_source": "https://twitter.com/some_handle/status/...",
"created_at": "2026-03-11T00:00:00Z",
"updated_at": "2026-03-11T00:00:00Z"
}
],
"next": "https://www.wikiprompt.org/dataset/prompts?after=<cursor>&limit=500"
}
字段参考
每条记录都携带相同的十四个字段。值得特别指出的:
slug 是稳定标识符;url 是规范页面,如果你之后想链接回去或重新抓取单条记录,这会很有用。creative、marketing、personal、productivity、coding、education、business、research、other 之一。"Midjourney"、"GPT-4o"、"Veo" 等)。media_type、aspect_ratio、style 和一个 assessment 块,用于评分质量维度,如创造力和实用性。对于从未携带图像/视频评估的纯文本提示词,此为 null。updated_at 会变动。分页机制
端点使用键集分页,而不是页码。两个参数控制它:
limit:每页记录数,默认 200,最大 500。after:一个不透明游标,在每个响应的 next URL 中回显给你。约定很简单:调用端点,读取 next,逐字调用 next,重复直到 next 为 null。不要自己构造 after 值;将其视为不透明令牌。
curl "https://www.wikiprompt.org/dataset/prompts?limit=500"
用 Python 进行完整抓取如下所示:
import requests
url = "https://www.wikiprompt.org/dataset/prompts?limit=500"
records = []
while url:
resp = requests.get(url, timeout=30)
resp.raise_for_status()
payload = resp.json()
records.extend(payload["records"])
url = payload["next"]
print(f"pulled {len(records)} prompts")
每页 500 条,共 55,000+ 条记录,完整同步大约需要 110 个请求,或者如果你额外在客户端按 updated_at 过滤,增量同步所需的请求会少得多。
缓存和 CORS
两个端点都有边缘缓存,所以对同一页面(相同 after 值)的重复请求在我们这边便宜且快速,对你来说也快。每个响应都设置了 Access-Control-Allow-Origin: *,所以你可以直接从浏览器 JavaScript 用 fetch() 调用,无需代理。由于没有 API 密钥,所以没有与密钥关联的速率限制;请做一个合理的公民,在本地缓存清单,而不是在每次请求时轮询它。
错误处理
在负载下,端点可能返回 503 并带有 Retry-After 头(重试前等待的秒数)。请尊重它:
import time, requests
def get_with_retry(url):
while True:
resp = requests.get(url, timeout=30)
if resp.status_code == 503:
wait = int(resp.headers.get("Retry-After", "5"))
time.sleep(wait)
continue
resp.raise_for_status()
return resp.json()
任何其他非 200 状态码都值得记录并停止,而不是盲目重试。如果你只跟随 next,格式错误的 after 游标不应该发生,但防御性代码不应永远假设如此。
归属
此数据集中的提示词聚合自原始作者的公开帖子。Wikiprompt 是聚合者,而不是权利持有者。如果你用这些数据构建东西,请引用 wikiprompt.org,并且每条记录都要引用指向原始帖子的 original_source 字段。除此之外没有附加正式许可证:归属网站并归属作者。
值得尝试
一旦你拉取了一页,有三条记录可以用来检查你的解析器:一个数据物理化图像提示词、一个纪念性阴影建筑照片 和 一个神秘游牧旅行者角色设计。这三条都能干净地通过 content、media 和 metadata 往返。
如果批量导出目前超出你的需求,还有两个更轻量的选项:搜索 API 用于单个查询,以及 MCP 服务器 如果你要将其接入代理而不是脚本。两者都基于与 /dataset 相同的底层目录,所以如果你从小处开始并随后扩展到批量导出,这里没有任何死胡同。
Related Articles
- Laya vs. Jev: Die Open-Source-Antwort auf die Entscheidungsmodell-Welle
Sep 22, 2026 · 5 min read
- Laya contre Jev : La réponse open-source à la vague des modèles de décision
Sep 22, 2026 · 5 min read
- Laya vs Jev: La respuesta de código abierto a la ola de modelos de decisión
Sep 22, 2026 · 5 min read
- Laya vs Jev: 오픈소스로 답하는 의사결정 모델 물결
Sep 22, 2026 · 5 min read
- लाया बनाम जेव: निर्णय-मॉडल लहर का ओपन-सोर्स उत्तर
Sep 22, 2026 · 5 min read