Flickr Photos Upload API

Asynchronous upload status polling

Operations 2

GET /rest/flickr.photos.upload.checkTickets Check Async Upload Tickets #
POST /upload Upload A Photo Or Video #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/flickr-photos-upload-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

flickr-photos-upload-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Flickr Activity Photos Upload API
  description: 'The Flickr API exposes the photo, group, people, place, tag, gallery, and

    photoset capabilities that power flickr.com. Almost all flickr.com

    functionality is reachable through a single REST-like endpoint

    `https://api.flickr.com/services/rest` using a `method=flickr.{namespace}.{method}`

    query parameter and `format=json&nojsoncallback=1` for JSON output.


    This OpenAPI specification models a curated set of the most widely used

    methods across the Flickr API''s 250+ method namespaces (activity, auth,

    blogs, cameras, collections, commons, contacts, favorites, galleries,

    groups, groupsDiscuss, interestingness, machinetags, panda, people, photos,

    photos.geo, photos.licenses, photos.notes, photos.transform, photos.upload,

    photosets, places, prefs, profile, push, reflection, stats, tags, test, urls).


    Authentication is API key + OAuth 1.0a (HMAC-SHA1). Commercial use of the

    API requires prior permission from Flickr.

    '
  version: 1.0.0
  termsOfService: https://www.flickr.com/services/api/tos/
  contact:
    name: Flickr API Support
    url: https://www.flickr.com/help/api/
  license:
    name: Flickr API Terms of Use
    url: https://www.flickr.com/services/api/tos/
  x-generated-from: documentation
  x-last-validated: '2026-05-30'
servers:
- url: https://api.flickr.com/services
  description: Flickr REST API
- url: https://up.flickr.com/services
  description: Flickr Upload endpoint
security:
- ApiKeyAuth: []
- OAuth1:
  - read
  - write
  - delete
tags:
- name: Photos Upload
  description: Asynchronous upload status polling
paths:
  /rest/flickr.photos.upload.checkTickets:
    get:
      operationId: photosUploadCheckTickets
      summary: Check Async Upload Tickets
      description: Returns the status of one or more asynchronous photo upload tickets.
      tags:
      - Photos Upload
      parameters:
      - $ref: '#/components/parameters/ApiKey'
      - name: tickets
        in: query
        required: true
        description: Comma-delimited list of ticket IDs.
        schema:
          type: string
        example: 1234567,1234568
      responses:
        '200':
          description: Ticket statuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketList'
              examples:
                PhotosUploadCheckTickets200Example:
                  summary: Default photosUploadCheckTickets 200 response
                  x-microcks-default: true
                  value:
                    ticket:
                    - id: '52345678901'
                      complete: 1
                      photoid: '52345678901'
                      invalid: 0
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /upload:
    post:
      operationId: photosUpload
      summary: Upload A Photo Or Video
      description: 'Uploads a photo or video. Uses `https://up.flickr.com/services/upload`

        with a multipart/form-data POST. Returns the new photo ID (synchronous)

        or ticket ID (asynchronous).

        '
      tags:
      - Photos Upload
      servers:
      - url: https://up.flickr.com/services
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - photo
              properties:
                photo:
                  type: string
                  format: binary
                title:
                  type: string
                description:
                  type: string
                tags:
                  type: string
                is_public:
                  type: integer
                is_friend:
                  type: integer
                is_family:
                  type: integer
                safety_level:
                  type: integer
                content_type:
                  type: integer
                hidden:
                  type: integer
                async:
                  type: integer
            examples:
              PhotosUploadRequestExample:
                summary: Default photosUpload request body
                x-microcks-default: true
                value:
                  photo: <binary>
                  title: Golden Gate Sunset
                  description: Detailed photo metadata.
                  tags: example
                  is_public: 1
                  is_friend: 1
                  is_family: 1
                  safety_level: 1
                  content_type: 1
                  hidden: 1
                  async: 1
      responses:
        '200':
          description: Upload response
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/UploadResponse'
              examples:
                PhotosUpload200Example:
                  summary: Default photosUpload 200 response
                  x-microcks-default: true
                  value:
                    stat: ok
                    photoid: '52345678901'
                    ticketid: '1234567'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    UploadResponse:
      type: object
      description: XML upload response containing `<photoid>` or `<ticketid>`.
      properties:
        stat:
          type: string
          example: ok
        photoid:
          type: string
          example: '52345678901'
        ticketid:
          type: string
          example: '1234567'
    TicketList:
      type: object
      properties:
        ticket:
          type: array
          items:
            $ref: '#/components/schemas/Ticket'
    Ticket:
      type: object
      properties:
        id:
          type: string
          example: '52345678901'
        complete:
          type: integer
          example: 1
        photoid:
          type: string
          example: '52345678901'
        invalid:
          type: integer
          example: 0
  parameters:
    ApiKey:
      name: api_key
      in: query
      required: true
      description: Application API key.
      schema:
        type: string
      example: ab1234567890cdef1234567890abcd12
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: api_key
      description: Application API key for non-authenticated and read-only public requests.
    OAuth1:
      type: oauth2
      description: 'Flickr uses OAuth 1.0a (HMAC-SHA1). The OpenAPI 3 schema cannot model

        OAuth 1.0a directly, so this entry approximates the flow. Token URLs:

        - Request token: https://www.flickr.com/services/oauth/request_token

        - Authorize:     https://www.flickr.com/services/oauth/authorize

        - Access token:  https://www.flickr.com/services/oauth/access_token

        '
      flows:
        authorizationCode:
          authorizationUrl: https://www.flickr.com/services/oauth/authorize
          tokenUrl: https://www.flickr.com/services/oauth/access_token
          scopes:
            read: Read access to private content owned by the user
            write: Modify content owned by the user
            delete: Delete content owned by the user