# Social Fetch API - Flickr endpoints # Base URL: https://api.socialfetch.dev # Auth: x-api-key header (sfk_...) # Full catalog: https://www.socialfetch.dev/llms-endpoints.txt | JSON: https://www.socialfetch.dev/llms.json # Docs hub: https://www.socialfetch.dev/docs/api | OpenAPI: https://www.socialfetch.dev/openapi.json 31 documented Flickr operations. Do not invent paths - only the routes below (and their linked markdown pages) are supported. ## GET /v1/flickr/photos/{photoId} Get Flickr photo Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/photos/photoid/get.mdx SDK: client.flickr.getPhoto({ photoId: "2362225867" }) Parameters: - photoId (required, string) - Photo id, e.g. `2362225867`. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/photos/2362225867" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/photos/{photoId}/comments List Flickr photo comments Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/photos/photoid/comments/list.mdx SDK: client.flickr.listPhotoComments({ photoId: "2362225867" }) Parameters: - photoId (required, string) - Photo id, e.g. `2362225867`. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/photos/2362225867/comments" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/photos/{photoId}/exif Get Flickr photo EXIF Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/photos/photoid/exif/get.mdx SDK: client.flickr.getPhotoExif({ photoId: "2362225867" }) Parameters: - photoId (required, string) - Photo id, e.g. `2362225867`. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/photos/2362225867/exif" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/photos/{photoId}/favorites List Flickr photo favourites Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/photos/photoid/favorites/list.mdx SDK: client.flickr.listPhotoFavorites({ photoId: "2362225867" }) Parameters: - photoId (required, string) - Photo id, e.g. `2362225867`. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/photos/2362225867/favorites" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/photos/{photoId}/contexts Get Flickr photo contexts Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/photos/photoid/contexts/get.mdx SDK: client.flickr.getPhotoContexts({ photoId: "2362225867" }) Parameters: - photoId (required, string) - Photo id, e.g. `2362225867`. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/photos/2362225867/contexts" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId} Get Flickr user Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/get.mdx SDK: client.flickr.getUser({ userId: "bees" }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/bees" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId}/photos List Flickr user photos Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/photos/list.mdx SDK: client.flickr.listUserPhotos({ userId: "bees", limit: 50 }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/bees/photos?limit=50" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId}/albums List Flickr user albums Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/albums/list.mdx SDK: client.flickr.listUserAlbums({ userId: "bees" }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/bees/albums" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId}/galleries List Flickr user galleries Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/galleries/list.mdx SDK: client.flickr.listUserGalleries({ userId: "nasa2explore" }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/nasa2explore/galleries" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId}/favorites List Flickr user favourites Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/favorites/list.mdx SDK: client.flickr.listUserFavorites({ userId: "bees" }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/bees/favorites" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId}/photos/search Search Flickr user photos Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/photos/search/list.mdx SDK: client.flickr.searchUserPhotos({ userId: "bees", tag: "cat" }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. - tag (optional, string) - Only photos with this tag. - query (optional, string) - Free-text search within the user photos. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/bees/photos/search?query=sunset" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/search Search Flickr people Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/search/list.mdx SDK: client.flickr.searchUsers({ query: "nasa" }) Parameters: - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. - query (required, string) - Name or username to search for. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/search?query=nasa" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId}/following List Flickr user following Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/following/list.mdx SDK: client.flickr.listUserFollowing({ userId: "bees" }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/bees/following" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId}/groups List Flickr user groups Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/groups/list.mdx SDK: client.flickr.listUserGroups({ userId: "bees" }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/bees/groups" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId}/tags List Flickr user tags Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/tags/list.mdx SDK: client.flickr.listUserTags({ userId: "bees" }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/bees/tags" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/users/{userId}/photos-of List Flickr photos of user Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/users/userid/photos-of/list.mdx SDK: client.flickr.listUserPhotosOf({ userId: "bees" }) Parameters: - userId (required, string) - NSID (`12037949754@N01`) or path alias (`bees`). - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/users/bees/photos-of" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/albums/{albumId} Get Flickr album Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/albums/albumid/get.mdx SDK: client.flickr.getAlbum({ albumId: "72157634976795888", userId: "bees" }) Parameters: - albumId (required, string) - Album id, e.g. `72157634976795888`. The album must belong to `userId`. - userId (required, string) - Owner of the album, as an NSID (`8623220@N02`) or a path alias (`bees`). The album must belong to this user. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/albums/72157634976795888?userId=bees" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/galleries/{galleryId} Get Flickr gallery Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/galleries/galleryid/get.mdx SDK: client.flickr.getGallery({ galleryId: "72157716271339617" }) Parameters: - galleryId (required, string) - Gallery id, e.g. `72157716271339617`. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/galleries/72157716271339617" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/galleries/{galleryId}/comments List Flickr gallery comments Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/galleries/galleryid/comments/list.mdx SDK: client.flickr.listGalleryComments({ galleryId: "72157716271339617" }) Parameters: - galleryId (required, string) - Gallery id, e.g. `72157716271339617`. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/galleries/72157716271339617/comments" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/photos/search Search Flickr photos Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/photos/search/list.mdx SDK: client.flickr.searchPhotos({ query: "sunset" }) Parameters: - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. - query (optional, string) - Free text to match photo titles, descriptions or tags. - tags (optional, string) - Space- or comma-separated tags. - tagMode (optional, string, enum: all | any) - Whether every tag or any tag must match. Default: all. - sort (optional, string, enum: relevance | date-posted-desc | date-taken-asc | date-taken-desc | interestingness-desc) - Order. Default: relevance. For a taken window use `date-taken-asc` or `date-taken-desc`: pages end as soon as the window is passed. Newest-first sorts can repeat a row; `uploadedFrom`/`uploadedTo` give a stable walk. - license (optional, string) - Licence ids, comma-separated. `0` all rights reserved; `1` to `6` and `11` to `16` Creative Commons; `7` no known copyright; `8` US government work; `9` and `10` public domain. - media (optional, string, enum: photos | videos) - Restrict results to `photos` or `videos`. - uploadedFrom (optional, string) - Earliest upload time, ISO 8601 or a date. A date-only value means 00:00 UTC on that day. - uploadedTo (optional, string) - Latest upload time, ISO 8601 or a date. A date-only value means 00:00 UTC on that day; to include the whole day, pass a full time such as `2024-01-31T23:59:59Z`. - takenFrom (optional, string) - Earliest taken time as in `dates.takenAt`, ISO 8601 or a date (00:00). A time zone or offset is ignored. Before `takenTo`. Pages can hold fewer rows than `limit`; sort by taken date to end paging at the window. - takenTo (optional, string) - Latest taken time as in `dates.takenAt`, ISO 8601 or a date (00:00; use `2024-01-31T23:59:59` for a whole day). A time zone or offset is ignored. Pages can hold fewer rows than `limit`. - userId (optional, string) - Only this user photos. - latitude (optional, number) - Latitude for a geo search. - longitude (optional, number) - Longitude for a geo search. - radius (optional, number) - Radius in kilometres for a geo search. - hasGeo (optional, boolean) - Only geotagged photos. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/photos/search?query=sunset" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/tags/{tag}/photos List Flickr tag photos Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/tags/tag/photos/list.mdx SDK: client.flickr.listTagPhotos({ tag: "sunset" }) Parameters: - tag (required, string) - Tag, in any script, e.g. `sunset` or `日本`. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/tags/sunset/photos" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/explore List Flickr Explore photos Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/explore/list.mdx SDK: client.flickr.listExplore({ date: "2026-11-01" }) Parameters: - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. - date (optional, string) - Day, `YYYY-MM-DD`. Explore began in 2004; earlier days are empty. Default: the latest published day, which is yesterday (UTC) once its list is out and the day before until then. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/explore?date=2026-11-01" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/tags/trending List Flickr trending tags Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/tags/trending/list.mdx SDK: client.flickr.listTrendingTags({ period: "week" }) Parameters: - period (optional, string, enum: week | day | all_time) - Trending window. Default: week. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/tags/trending?period=week" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/photos/latest List Flickr latest uploads Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/photos/latest/list.mdx SDK: client.flickr.listLatest({ tags: "sunset" }) Parameters: - tags (optional, string) - Space- or comma-separated tags. - tagMode (optional, string, enum: all | any) - Whether every tag or any tag must match. Default: all. - userId (optional, string) - One NSID or a comma-separated list of NSIDs. Path aliases are not accepted by this feed. - language (optional, string) - Feed language, e.g. `ja-jp`. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/photos/latest?tags=sunset" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/tags/{tag}/related List Flickr related tags Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/tags/tag/related/list.mdx SDK: client.flickr.listRelatedTags({ tag: "sunset" }) Parameters: - tag (required, string) - Tag, in any script, e.g. `sunset` or `日本`. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/tags/sunset/related" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/groups/search Search Flickr groups Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/groups/search/list.mdx SDK: client.flickr.searchGroups({ query: "sunset" }) Parameters: - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. - query (required, string) - Group name or description text. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/groups/search?query=sunset" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/groups/{groupId} Get Flickr group Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/groups/groupid/get.mdx SDK: client.flickr.getGroup({ groupId: "central" }) Parameters: - groupId (required, string) - Group NSID (`34427469792@N01`) or path alias (`central`). Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/groups/central" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/groups/{groupId}/photos List Flickr group pool Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/groups/groupid/photos/list.mdx SDK: client.flickr.listGroupPhotos({ groupId: "central" }) Parameters: - groupId (required, string) - Group NSID (`34427469792@N01`) or path alias (`central`). - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/groups/central/photos" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/groups/{groupId}/discussions List Flickr group discussions Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/groups/groupid/discussions/list.mdx SDK: client.flickr.listGroupDiscussions({ groupId: "central" }) Parameters: - groupId (required, string) - Group NSID (`34427469792@N01`) or path alias (`central`). - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/groups/central/discussions" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/groups/{groupId}/discussions/{topicId}/replies List Flickr discussion replies Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/groups/groupid/discussions/topicid/replies/list.mdx SDK: client.flickr.listGroupDiscussionReplies({ groupId: "central", topicId: "72157627531743181" }) Parameters: - groupId (required, string) - Group NSID (`34427469792@N01`) or path alias (`central`). - topicId (required, string) - Discussion topic id, e.g. `72157627531743181`. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Send it without `page`; it keeps the page size it was issued with, so `limit` may be sent again and has no effect. - page (optional, integer) - Page number, 1-based. Default: 1. A page past the last returns an empty list with `hasMore: false`. Prefer `cursor` when continuing. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/groups/central/discussions/72157627531743181/replies" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/flickr/commons/institutions List Flickr Commons institutions Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/flickr/commons/institutions/list.mdx SDK: client.flickr.listCommonsInstitutions({}) Outcome field: `data.lookupStatus` in `found`, `not_found`, `hidden`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/flickr/commons/institutions" \ -H "x-api-key: YOUR_API_KEY"