Photography — entry 006 of 25

Flickr

Verified Jul 2026

Flickr's REST API (also available as XML-RPC, SOAP, JSON, or PHP-serialized responses) exposes photo search, metadata, favorites, groups, and the site's large Creative Commons-licensed photo collection to third-party applications. Every call requires an application API key, which alone is enough for the read-only public methods that make up most integrations; Flickr's own OAuth 1.0a flow is layered on only for actions performed against a specific signed-in user's account, like uploading or editing. Non-commercial use is free and capped at 3,600 queries/hour per key; commercial use is possible only by prior arrangement with Flickr, owned by SmugMug since 2018.

photo-sharingstock-photoscreative-commonscommunityimage-search
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSON, XMLResponses can be requested as JSON or XML.

GreatAPIs Score

Score87out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats15/15Supports 2 response formats
Freshness20/20Verified within 6 months

Embed this badge

Scored 87 on greatapis.com
<a href="https://greatapis.com/api/flickr/"><img src="https://greatapis.com/badge/flickr.svg" alt="Scored 87 on greatapis.com"></a>

Auth quickstart

  1. Sign up with the provider to get an API key.
  2. Send it on every request as a headerAuthorization: <key>
  3. The exact header isn't documented — Authorization is a common default; confirm in the provider's docs.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.flickr.com/services
Public25
GET/oauth/access_token
Parameters
NameInRequiredType
oauth_consumer_keyqueryyesstring
oauth_noncequeryyesstring
oauth_timestampqueryyesstring
oauth_signature_methodqueryyesstring
oauth_versionqueryyesstring
oauth_signaturequeryyesstring
oauth_verifierqueryyesstring
oauth_tokenqueryyesstring
Responses
StatusDescriptionSchema
200OK
GET/oauth/request_token
Parameters
NameInRequiredType
oauth_consumer_keyqueryyesstring
oauth_noncequeryyesstring
oauth_timestampqueryyesstring
oauth_signature_methodqueryyesstring
oauth_versionqueryyesstring
oauth_signaturequeryyesstring
oauth_callbackqueryyesstring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.favorites.getContext
Parameters
NameInRequiredType
api_keyqueryyesstring
photo_idqueryyesstring
user_idquerynostring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.favorites.getList
Parameters
NameInRequiredType
api_keyqueryyesstring
user_idqueryyesstring
min_fave_datequerynonumber
max_fave_datequerynonumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.galleries.getPhotos
Parameters
NameInRequiredType
api_keyqueryyesstring
gallery_idqueryyesstring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.groups.discuss.replies.getInfo
Parameters
NameInRequiredType
api_keyqueryyesstring
group_idquerynostring
topic_idqueryyesstring
reply_idqueryyesstring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.groups.discuss.topics.getInfo
Parameters
NameInRequiredType
api_keyqueryyesstring
group_idquerynostring
topic_idqueryyesstring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.groups.discuss.topics.getList
Parameters
NameInRequiredType
api_keyqueryyesstring
group_idquerynostring
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.groups.getInfo
Parameters
NameInRequiredType
api_keyqueryyesstring
group_idquerynostring
group_path_aliasquerynostring
langquerynostring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.groups.pools.getContext
Parameters
NameInRequiredType
api_keyqueryyesstring
photo_idqueryyesstring
group_idquerynostring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.groups.pools.getPhotos
Parameters
NameInRequiredType
api_keyqueryyesstring
group_idquerynostring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.people.getInfo
Parameters
NameInRequiredType
api_keyqueryyesstring
user_idquerynostring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.people.getPhotos
Parameters
NameInRequiredType
api_keyqueryyesstring
user_idqueryyesstring
safe_searchquerynonumber
min_upload_datequerynonumber
max_upload_datequerynonumber
min_taken_datequerynonumber
max_taken_datequerynonumber
content_typequerynonumber
privacy_filterquerynonumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.photolist.getContext
Parameters
NameInRequiredType
api_keyqueryyesstring
photo_idqueryyesstring
photolist_idqueryyesstring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.photos.getContext
Parameters
NameInRequiredType
api_keyqueryyesstring
photo_idqueryyesstring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.photos.getExif
Parameters
NameInRequiredType
api_keyqueryyesstring
photo_idqueryyesstring
secretquerynostring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.photos.getInfo
Parameters
NameInRequiredType
api_keyqueryyesstring
photo_idqueryyesstring
Responses
StatusDescriptionSchema
200a photo
GET/rest?method=flickr.photos.getSizes
Parameters
NameInRequiredType
api_keyqueryyesstring
photo_idqueryyesstring
Responses
StatusDescriptionSchema
200Photo sizes
GET/rest?method=flickr.photos.licenses.getInfo
Parameters
NameInRequiredType
api_keyqueryyesstring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.photos.search
Parameters
NameInRequiredType
api_keyqueryyesstring
textquerynostring
tagsquerynostring
user_idquerynostring
min_upload_datequerynostring
max_upload_datequerynostring
min_taken_datequerynostring
max_taken_datequerynostring
licensequerynostring
sortquerynostring
privacy_filterquerynonumber
bboxquerynostring
accuracyquerynostring
safe_searchquerynonumber
content_typequerynonumber
machine_tagsquerynostring
machine_tag_modequerynostring
group_idquerynostring
contactsquerynostring
woe_idquerynostring
place_idquerynostring
mediaquerynostring
has_geoquerynostring
geo_contextquerynostring
latquerynostring
lonquerynostring
radiusquerynonumber
radius_unitsquerynostring
is_commonsquerynoboolean
in_galleryquerynoboolean
is_gettyquerynoboolean
per_pagequerynonumber
pagequerynonumber
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.photosets.getContext
Parameters
NameInRequiredType
api_keyqueryyesstring
photo_idqueryyesstring
photoset_idquerynostring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.photosets.getList
Parameters
NameInRequiredType
api_keyqueryyesstring
user_idqueryyesstring
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.photosets.getPhotos
Parameters
NameInRequiredType
api_keyqueryyesstring
photoset_idqueryyesstring
Responses
StatusDescriptionSchema
200OK
GET/rest?method=flickr.test.echo
Parameters
NameInRequiredType
api_keyqueryyesstring
echoquerynostring
Responses
StatusDescriptionSchema
200OK
POST/upload
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200OK

Try it

Developer reference

Base URLhttps://api.flickr.com/services
Rate limit

3,600 queries/hour per API key, aggregated across every user of the integration; keys that exceed it (or otherwise abuse the API) risk suspension. No published higher tier — heavier commercial use requires prior arrangement with Flickr.

Key endpoints
  • GET/rest?method=flickr.photos.search
  • GET/rest?method=flickr.photos.getInfo
  • GET/rest?method=flickr.people.getPhotos
  • GET/rest?method=flickr.photosets.getPhotos
  • POST/upload