querystringrequired
Keyword or phrase to search Pexels photos for, e.g. "coffee" or "city skyline".
https://api.sandbase.ai/v1/api/pexels/search-photosSearch 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.
Your output will appear here
Complete the inputs, then click Run.
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.
curl -X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "pexels/search-photos", "limit": 2, "query": "coffee"}'
The result is returned in outputs[0].data. Lookups that find nothing fail with a not-found error.
| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Keyword or phrase to search Pexels photos for, e.g. "coffee" or "city skyline". |
limit | integer | No | Maximum number of photos to return (1-20, default 20). You are billed per photo returned, so a lower limit costs less. |
minHeight | integer | No | Only return photos at least this many pixels tall. |
minWidth | integer | No | Only return photos at least this many pixels wide. |
orientation | string | No | Only return photos with this orientation. Omit for any orientation. One of: landscape, portrait, square. |
peopleCount | string | No | Only return photos showing this many people: "0" for none, "1" or "2". Omit for any number. One of: 0, 1, 2. |
requireFields | array | No | 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 th |
Billed at the actual cost of each call: about $0.0033 per result returned, up to $0.0666 per request (about $0.0066 for the request above). A call can cost more when the first data source fails and another one answers. Failed calls and lookups that find nothing are not charged.
Start building
Platform API endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/api/pexels/search-photos" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"limit": 2,
"query": "coffee"
}
SANDBASE_JSON
)
printf '%s\n' "$result"Set your SandBase API key in your server environment. Requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep your key on the server. Do not expose it in browser code.
querystringrequiredKeyword or phrase to search Pexels photos for, e.g. "coffee" or "city skyline".
limitintegerMaximum number of photos to return (1-20, default 20). You are billed per photo returned, so a lower limit costs less.
minWidthintegerOnly return photos at least this many pixels wide.
minHeightintegerOnly return photos at least this many pixels tall.
orientationstringOnly return photos with this orientation. Omit for any orientation.
Possible values: landscape, portrait, square
peopleCountstringOnly return photos showing this many people: "0" for none, "1" or "2". Omit for any number.
Possible values: 0, 1, 2
requireFieldsarrayOptional; 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.
Saved example response for this API; no live request is made when viewing it.
No saved response has been published. Run the API in Playground to inspect its response.
Explore more
| API | Price | Response |
|---|---|---|
Pexels Photo SearchThis API Pexels | From $0.0066 per call | JSON |
Questions
Send a POST request to https://api.sandbase.ai/v1/api/pexels/search-photos with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.
From $0.0066 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.
Required: query (string). Optional: limit (integer), minWidth (integer), minHeight (integer), orientation (one of landscape, portrait, square), peopleCount (one of 0, 1, 2) and requireFields (array). The Parameters table and the Playground on this page list every field.
A JSON response returned in the same HTTP request (synchronous).
No. Pexels Photo Search runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Pexels API access separately.