Pinterest关键词搜索 API
接口健康状态
- 24h 健康值
- 正常
- 24h 平均耗时
- —
- 健康 / 正常
- 可用
- 少量可用
- 基本不可用
24 小时趋势
30 天趋势
关键词搜索:返回列表,默认 20 条、单次最多 50 条;主要字段 id、url、title、text、image_url、reaction_count。
Pinterest 关键词搜索按 keyword 检索公开的 Pin,每条带标题、描述、图片、表情回应数、内容来源域名、主色调、发布时间、作者及其粉丝数,以及所在画板的名称。它回答「这个灵感主题在 Pinterest 上有哪些内容、来自哪些网站」,适合设计和内容团队收集视觉灵感,电商团队观察品类的视觉趋势,以及寻找常发这类内容的创作者。
keyword 填灵感或主题词,例如 Scandinavian kitchen。结果只有 Pin,不含画板和创作者资料;content_type 可以只看视频 Pin。dominant_color 是十六进制主色,汇总后可看出配色倾向;作者粉丝数为 null 表示不公开,不等于 0。
单价 $1.39 / 千次(每次 $0.001389),失败与空结果不扣费。 同步返回;慢任务可在请求体加 "mode": "async",先拿 job_id 再轮询。
AI 提示词
复制下面这段给你常用的 AI 助手:里面写好了这个接口的参数、返回字段和示例请求,它会先问清你的需求,再帮你写采集脚本。
请帮我用 EveryInfra 的「Pinterest 关键词搜索」接口(pinterest/search)写一个数据采集脚本。
接口约定:
- 请求:POST https://api.everyinfra.com/api/v1/social,请求头 Authorization: Bearer <API Key>;Key 从环境变量 EVERYINFRA_API_KEY 读取,不要写进代码。
- 请求体里 platform 填 pinterest,action 填 search,参数放在 params 里。
- 必填参数:
- keyword:search 的灵感或主题关键词,例如 Scandinavian kitchen;检索结果类型由 content_type 选择。
- 可选参数:
- content_type:search 只返回 Pin:all_pins_visual_posts 保留既有参数名,但表示全部 Pin,不只限图文;videos_video_pins 仅查询视频 Pin。画板与创作者不在返回结果里。(可选值:all_pins_visual_posts / videos_video_pins)
- limit:这次调用最多返回的条数,整数,1–50;不传按默认值,实际返回可能少于这个数。超过上限会在扣费前返回 422。(默认 20)
- 返回一组记录,每条记录的主要字段:id、url、title、text、image_url、reaction_count(表情回应数)、source_domain(内容来源域名)、dominant_color(主色调(十六进制))、posted_at、author_username、author_name、author_follower_count;一共 13 个字段,完整列表见 https://api.everyinfra.com/api/v1/social/catalog?platform=pinterest。
- 示例请求体:
{
"platform": "pinterest",
"action": "search",
"params": {
"keyword": "small balcony garden"
}
}
- 计费:$1.39 / 千次;失败和空结果不扣费。
- 一次要采几十上百个时,在请求体加 "mode": "async":先拿到 job_id,再轮询 GET https://api.everyinfra.com/api/v1/jobs/{job_id} 取结果。
- 返回 422 时,按错误信息里的候选参数和允许值修正;返回 429 或 503 时,按 Retry-After 等待后重试。
写代码前,先问清楚我要采哪些对象、一共多少个、需要哪些字段、结果存成什么格式,再把方案和大概花费讲给我确认。请求参数
| 参数名 | 位置 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
Authorization | header | string | 是 | - | Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。 |
platform | body | string | 是 | pinterest | 平台标识,固定值。 |
action | body | string | 是 | search | 能力标识,固定值。 |
keyword | body.params | 未声明 | 是 | - | search 的灵感或主题关键词,例如 Scandinavian kitchen;检索结果类型由 content_type 选择。 |
content_type | body.params | enum | 否 | - | search 只返回 Pin:all_pins_visual_posts 保留既有参数名,但表示全部 Pin,不只限图文;videos_video_pins 仅查询视频 Pin。画板与创作者不在返回结果里。允许值all_pins_visual_postsvideos_video_pins |
limit | body.params | integer (1–50) | 否 | 20 | 这次调用最多返回的条数,整数,1–50;不传按默认值,实际返回可能少于这个数。超过上限会在扣费前返回 422。 |
代码示例
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "pinterest",
"action": "search",
"params": {
"keyword": "small balcony garden"
}
}'[OpenAPI 定义 (JSON)]示例从环境变量 EVERYINFRA_API_KEY 读取 Key,复制出去的代码不含你的 Key。
这里填写灵感主题词;结果类型由 content_type 选择,画板与账号资料不能混作同一对象。
响应示例
2026年9月26日 16:56(北京时间)用上方代码示例的参数真实调用所得。results 与 count 是那次的真实返回,已隐去名字、账号、头像、主页链接、联系方式等个人信息,列表只保留前 2 条;id、billing、quota 每次调用都不同,只给结构。
{
"id": "req_…",
"platform": "pinterest",
"action": "search",
"results": [
{
"id": "AZCEn6gJW6WmfANVWBfKNzZyMdukkN8LXQC2wCDzyJ-TSwvrKAEpdicrWCGZa13vjXB9mX_5ZMCOaoHOKbHGAys",
"url": "https://www.pinterest.com/pin/AZCEn6gJW6WmfANVWBfKNzZyMdukkN8LXQC2wCDzyJ-TSwvrKAEpdicrWCGZa13vjXB9mX_5ZMCOaoHOKbHGAys/",
"title": "Albergo Villa Cristina",
"text": "Bei einem Aufenthalt im Albergo Villa Cristina kannst du dich auf eine Terrasse, einen Garten und einen Friseursalon freuen. Allen Gästen steht kostenloses WLAN in den Zimmern zur Verfügung. Ebenso wird dein Aufenthalt durch einen Textilreinigungsservice und eine Bar bereichert.",
"image_url": "https://i.pinimg.com/736x/98/dd/48/98dd48792fdd03f4dc7c78daa6298a2f.jpg",
"source_domain": "expedia.de",
"dominant_color": "#494b3d",
"posted_at": "2026-08-26T11:34:34+00:00",
"author_username": "(已隐去)",
"author_name": "(已隐去)",
"author_follower_count": 67097,
"board_name": "Hotels",
"platform": "pinterest"
},
{
"id": "AXNGx7QQOfcPd0u8HtCj1KEsTf7bOCdITrT644VKab5YezQbjPSmyCi4PqorYMUIIBKxCExIUMDP-az0fUCpCHk",
"url": "https://www.pinterest.com/pin/AXNGx7QQOfcPd0u8HtCj1KEsTf7bOCdITrT644VKab5YezQbjPSmyCi4PqorYMUIIBKxCExIUMDP-az0fUCpCHk/",
"title": "2 BTK TERRACE RETREAT BY Lavanya",
"text": "2 BTK TERRACE RETREAT BY Lavanya bietet Annehmlichkeiten wie eine Terrasse und eine Wäscherei. Kostenloses WLAN in den öffentlichen Bereichen sorgt dafür, dass du auch vor Ort stets in Verbindung bleiben kannst.",
"image_url": "https://i.pinimg.com/736x/22/b0/51/22b051539eef2a5908c005ac6b3a178d.jpg",
"source_domain": "expedia.de",
"dominant_color": "#ccb08d",
"posted_at": "2026-07-13T07:16:34+00:00",
"author_username": "(已隐去)",
"author_name": "(已隐去)",
"author_follower_count": 67097,
"board_name": "Hotels",
"platform": "pinterest"
}
],
"count": 19,
"billing": {
"charged": …,
"charged_usd": …,
"balance_after_usd": …,
…
},
"quota": { … }
}返回字段
业务数据在 results 里;下表是每条记录可能包含的字段,平台没有提供的值不会被补造。
| 字段 | 含义 |
|---|---|
id | 该记录在原平台上的唯一标识。仅在同一平台内唯一,跨平台可能重复。 |
url | 该记录在原平台上的可访问链接。 |
title | 标题。平台无标题概念时(如纯文本帖)为 null。 |
text | 正文内容,已去除 HTML 标签,全文返回、不截断(个别平台的列表结果本身只有摘要,以该平台的字段说明为准)。 |
image_url | 图片链接。多图能力可能返回 image_urls 数组。 |
reaction_count | 表情回应数。 |
source_domain | 内容来源域名。 |
dominant_color | 主色调(十六进制),做视觉分析可直接用。 |
posted_at | 发布时间,ISO 8601 格式、UTC 时区(如 2026-08-07T12:34:56+00:00)。平台只给非标准字符串时原样透传,解析前建议做容错。null 表示平台未公开。 |
author_username | 作者用户名(@handle),通常可用于拼 URL。 |
author_name | 作者昵称(显示名)。 |
author_follower_count | 作者粉丝数。null 表示不公开。 |
board_name | 画板名称。Pinterest 的收藏单位是画板(board)。 |
platform | 数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。 |
常见问题
content_type 两个取值有什么区别?
all_pins_visual_posts 是保留下来的参数名,实际表示全部 Pin,不只是图文;videos_video_pins 只查视频 Pin。两个取值返回的都是 Pin,画板和创作者不在这个能力的返回范围内。
怎么从搜索结果找到作者的更多内容?
author_username 是作者的用户名:传给 Pinterest 用户内容可以读他发布的 Pin,传给 Pinterest 画板列表可以看他的画板。这两个能力都接受用户短名,开头可以带 @,但不解析完整主页链接。
搜索结果里有转存数吗?
没有。搜索结果带 reaction_count(表情回应数),不带转存数和评论数。需要这些数据时,用 Pinterest 单条 Pin 读取这条 Pin 的详情,传含 /pin/数字ID/ 的 Pin 链接。
错误与计费
- 401
- 缺少 Key 或 Key 无效。先鉴权再校验参数,未鉴权的请求拿不到参数结构。
- 422
- 参数名或取值不对。错误信息会列出这项能力支持的参数、允许值和最接近的候选,按它改即可;发生在扣费之前。
- 402
- 余额不足,请先充值。
- 429
- 超过账户的每分钟请求上限(名下所有 Key 合计;Key 自设了更低上限时先按它算),按 Retry-After 等待后再试。需要更高上限可在控制台买提速包。
- 503
- 暂时无法完成。已预扣的费用按原账本退回;响应里的 billing 与 refund 写明实际结果,结果未知时会明确标出,不要直接重发。
- 200 空结果
- 请求完成但没有数据,不扣费(billing.reason = empty_result_refunded)。