> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/flickr/photos-search-list>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/flickr/photos-search-list.mdx>

---

# Flickr Photo Search API

One search across public photos, with the filters a photo catalogue actually needs.

`GET /v1/flickr/photos/search` searches public photos. It accepts `query` for free text, `tags` with `tagMode` (`all` or `any`), `sort` (relevance, date posted, date taken or interestingness), `license` ids, `media` (photos or videos), upload and taken date ranges, `userId`, `hasGeo`, latitude and longitude with a radius, and paging.

Each row is a full photo record with owner, sizes, counts, dates, tags and geo coordinates; the place hierarchy is on `GET /v1/flickr/photos/{photoId}`. Paging uses `limit`, `page` and `page.nextCursor`, with at most 100 rows a page and a reachable cap of 4,000 rows. A query that matches nothing returns `lookupStatus: found` with an empty list. Newest-first sorts move as photos are uploaded, so a walk can repeat a row; use `uploadedFrom` and `uploadedTo` for a stable walk. A date-only `uploadedTo` means 00:00 UTC. With `takenFrom` or `takenTo`, you get photos whose taken time falls in the window (edges included), read as the time `dates.takenAt` prints; pages can hold fewer rows than `limit`, so keep following `page.nextCursor` while `hasMore` is true, and `page.totalItems` is null. A date-only `takenTo` means 00:00; pass a full time such as `2024-01-31T23:59:59` to include the day. Taken bounds ignore any `Z` or offset.

## Request

- **Endpoint:** `GET /v1/flickr/photos/search`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by text, tags, dates, user or place
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/flickr/photos/search/list)
- **Platform page:** [/platforms/flickr](https://www.socialfetch.dev/platforms/flickr)

## FAQ

### Can I combine free text and tags?

Yes. Use query for text and tags with tagMode to require every tag or any tag. The route passes both filters to the search.

### How do I search one person’s photos?

Use GET /v1/flickr/users/{userId}/photos/search for a tag or text search inside one photostream.

### How much does a search page cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth. Each paginated page is a separate billed request.

### How deep can I page?

The route exposes at most 4,000 rows, 100 at a time. page.reachableItems reports the reachable count and page.nextCursor stops at the cap.

### Can I filter by licence?

Yes. Pass comma-separated licence ids from 0 to 16, such as 0,4,7. A non-numeric id or one outside that range is a 400 before any lookup.
