Skip to content
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

Python Flickr API

A Python implementation of the Flickr API.

The project provides an almost exhaustive access to the Flickr API, through an object-oriented Python interface.

Quick Start

  1. Install the package via PyPi (or manually cloning the repo):
pip install flickr_api
  1. Aquire Flickr API keys and set up authorisation as per the Wiki

  2. Start using the OO interface!

Here's an example of fetching a list of a specific users' public photos:

user = flickr_api.Person.findByUserName("tomquirkphoto")
photos = user.getPhotos()

If you've authorised yourself as a user, you can do cooler things like upload photos:

flickr_api.upload(photo_file="path_to_the_photo_file", title="My title")

And even create albums (a.k.a Photosets):

photoset = flickr_api.Photoset.create(title="The title of the photoset", primary_photo=cover_photo)


Consult the API Reference for a (semi) complete list

  • Object Oriented implementation
  • (Almost) comprehensive implementation
  • Uses OAuth for authentication
  • Context-sensitive objects (depending on the query context, objects may exhibit different attributes)
  • An interface for direct seamless calls to the Flickr API.
  • A (Django-compliant) caching mechanism


Please note that flickrapi on Pypi is a different distribution by a different author.

API Guide

A brief guide is available in the Wiki section.

Projects using this API

create a PR to add your project here!

  • FlickrBox - A Dropbox-like backup experience for your free 1TB Flickr library!
  • Album Sorter - Sort flickr albums into date taken order


This project uses pipenv to create a virtualenv for developement and control dependencies.

To run tests you can simply run it with:

pipenv install --dev
pipenv run nose2

To evoke the unittest module directly, one can run from the root directory (the directory with this file):

python -m unittest discover test


The project is still at an early stage and requires a lot of testing. Any help, including bug reports, is appreciated!

You can’t perform that action at this time.