Pexels API

Pexels 搜索图文 API

Search Pexels for free stock photos by keyword. Returns image URLs in several sizes, dimensions, alt text, the photographer's name and profile, and the photo's Pexels page.

POST/v1/run/pexels.search_photos
可用率
99.65%
30d · 1,437 次调用
请求数
1,437
30d · 按周,近 12 周
响应时间
4.2s
中位数 · 30d

调用方式

一个请求获取 Pexels 搜索图文

import os, requests

res = requests.post(
    "https://api.getanyapi.com/v1/run/pexels.search_photos",
    headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"},
    json={
        "query": "coffee",
        "limit": 2
    },
)
print(res.json())
打开于
获取免费密钥
示例响应
{
  "data": {
    "photos": [
      {
        "alt": "example",
        "color": "#1f4fe0",
        "colors": [
          "#1f4fe0"
        ],
        "createdUtc": 12.5,
        "downloadUrl": "https://example.com/page",
        "height": 42,
        "id": "a1b2c3d4",
        "image": "https://example.com/image.jpg",
        "imageMedium": "https://example.com/image.jpg",
        "imageOriginal": "https://example.com/image.jpg",
        "license": "example",
        "orientation": "example",
        "photographer": "https://example.com/image.jpg",
        "photographerAvatarUrl": "https://example.com/image.jpg",
        "photographerInstagramUsername": "https://example.com/image.jpg",
        "photographerLocation": "https://example.com/image.jpg",
        "photographerUrl": "https://example.com/image.jpg",
        "photographerUsername": "https://example.com/image.jpg",
        "publishedUtc": 12.5,
        "tags": [
          "example"
        ],
        "thumbnail": "https://example.com/image.jpg",
        "title": "Example title",
        "url": "https://example.com/page",
        "width": 1024
      }
    ]
  },
  "found": true,
  "reason": "not_found"
}

完整的参数与响应参考:这个接口的每个字段、类型和示例。

参考

一个请求,一种响应结构。

你发送的每个字段和收到的每个字段,都附有真实示例。

最近验证于 2026-11-14 · 可用率和延迟按 30d 统计

请求体

JSON,POST 到这个接口。

  • querystring

    coffee

    Keyword or phrase to search Pexels photos for, e.g. "coffee" or "city skyline".

  • limitinteger

    2

    Maximum number of photos to return (1-20, default 20). You are billed per photo returned, so a lower limit costs less.

  • minHeightinteger

    Only return photos at least this many pixels tall.

  • minWidthinteger

    Only return photos at least this many pixels wide.

  • orientationenum

    Only return photos with this orientation. Omit for any orientation.

  • peopleCountenum

    Only return photos showing this many people: "0" for none, "1" or "2". Omit for any number.

  • requireFieldsarray

    Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `tags`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a photo that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge.

你发送。 一个简短的 JSON 请求体。显示的值只是示例,请换成你自己的。

响应

JSON,每个字段一个示例值。

each photodata.photos[]

Free Pexels photos matching the keyword, in Pexels' relevance order.

  • altstring

    Alt text describing the photo. Populated whenever the provider has data for the entity.

  • colorstring

    Dominant color as a hex code, e.g. "#918c79".

  • colorsstring[]

    Palette of the photo's main colors as hex codes.

  • createdUtcnumber

    When the photo was uploaded. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • downloadUrlstring

    Direct download URL for the full-quality file.

  • heightinteger

    Original height in pixels. Populated whenever the provider has data for the entity.

  • idstring

    Photo id on the source site. Populated whenever the provider has data for the entity.

  • imagestring

    Display-size image URL, 1440 px wide. The query parameters set the size, so keep the URL intact. Populated whenever the provider has data for the entity.

  • imageMediumstring

    Medium image URL, 750 px wide.

  • imageOriginalstring

    Full-resolution original image URL. Populated whenever the provider has data for the entity.

  • licensestring

    License the photo is published under. "Pexels" means the Pexels License: free to use, attribution appreciated but not required. Populated whenever the provider has data for the entity.

  • orientationstring

    landscape, portrait, or square.

  • photographerstring

    Photographer's display name, for attribution. Populated whenever the provider has data for the entity.

  • photographerAvatarUrlstring

    Photographer's profile picture URL.

  • photographerInstagramUsernamestring

    Photographer's Instagram username, when they list one on Pexels.

  • photographerLocationstring

    Photographer's location as they state it on Pexels, when they list one.

  • photographerUrlstring

    Photographer's Pexels profile page, for attribution. Populated whenever the provider has data for the entity.

  • photographerUsernamestring

    Photographer's Pexels handle, without the leading @.

  • publishedUtcnumber

    When Pexels published the photo. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • tagsstring[]可设为必填

    Pexels' tags for the photo. One source returns at most 25 tags; name tags in requireFields to be served the full list.

  • thumbnailstring

    Thumbnail image URL, 130 px tall.

  • titlestring

    Photo title set by the photographer.

  • urlstring

    The photo's page on pexels.com. Populated whenever the provider has data for the entity.

  • widthinteger

    Original width in pixels. Populated whenever the provider has data for the entity.

top level
  • foundboolean
  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

你收到。 字段有名称、有类型,无论哪个数据源响应,结构都一样。

常见问题

关于 Pexels 搜索图文 API

AnyAPI 的 Pexels 搜索图文 API 只需一次 POST 请求 /v1/run/pexels.search_photos,就以统一格式的 JSON 返回 Pexels 数据。Search Pexels for free stock photos by keyword. Returns image URLs in several sizes, dimensions, alt text, the photographer's name and profile, and the photo's Pexels page.AnyAPI 会在 2 个数据源之间路由每个请求,某个数据源失败时自动切换。费用:每千条结果 US$3.17,单次请求最多 US$0.0666,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 Pexels 搜索图文 API 调用中有 99.7% 成功,响应时间中位数为 4.2 秒,共测量 1,437 次调用。

费用:每千条结果 US$3.17,单次请求最多 US$0.0666,以美元计价,无需订阅,也没有每月最低消费。你只需为一个美元钱包充值,每次调用从中扣费。部分由钱包付费的失败请求会产生处理费用,我们按成本原价转嫁,不加价;错误响应会显示收取的金额。

Search Pexels for free stock photos by keyword. Returns image URLs in several sizes, dimensions, alt text, the photographer's name and profile, and the photo's Pexels page.响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。

过去 30 天,通过 AnyAPI 发起的 Pexels 搜索图文 API 调用中有 99.7% 成功,响应时间中位数为 4.2 秒,共测量 1,437 次调用。这些是 AnyAPI 对经过网关的流量的自有测量,持续重新计算,并非公开承诺的服务等级目标。

可以。新的 AnyAPI 账户自带 US$0.10 免费余额,无需绑卡,至少足够调用 1 次 Pexels 搜索图文,每次最多 US$0.0666。

AnyAPI 会在同一个请求中依次尝试它的 2 个数据源,从最便宜的开始,所以一个数据源宕机不会让你的调用失败。

向 https://api.getanyapi.com/v1/run/pexels.search_photos 发送 POST 请求,在 “Authorization: Bearer” 请求头中放入你的 AnyAPI 密钥,并以 JSON 请求体传入参数。同一个密钥和同一个钱包适用于所有 AnyAPI 接口。

不需要。你向一个预付费的 AnyAPI 余额充值美元,每个请求从中扣费。没有月度套餐,也没有最低消费,同一个余额可用于所有 AnyAPI 接口。

有。TypeScript 用 npm 安装 @getanyapi/sdk,Python 用 pip 安装 getanyapi。两者都用同一个密钥调用所有 AnyAPI 接口,任何 HTTP 客户端也都可以。

可以。智能体可以连接 https://api.getanyapi.com/mcp 上的 AnyAPI MCP 服务器,或者向 https://api.getanyapi.com/agent/signup 发送一次无需认证的 POST 来创建自己的免费试用密钥,再通过 HTTP 调用这个接口。