Unsplash Current User API

Authenticated user operations

Operations 2

GET /me Get Current User Profile #
PUT /me Update Current User Profile #

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/unsplash-current-user-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

unsplash-current-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Unsplash Collections Current User API
  description: 'The Unsplash API provides access to the world''s largest open collection of high-quality, freely usable photos. Build photo-powered applications with search, random photos, user profiles, collections, topics, and statistics. Authentication uses Client-ID for public access or OAuth 2.0 Bearer tokens for user-authenticated operations. Rate limits: 50 req/hr (demo), 1000 req/hr (production). Downloads must be tracked via the /photos/:id/download endpoint per Unsplash API guidelines.'
  version: 1.0.0
  contact:
    name: Unsplash Developers
    url: https://unsplash.com/developers
  termsOfService: https://unsplash.com/api-terms
servers:
- url: https://api.unsplash.com
  description: Unsplash API
security:
- ClientID: []
tags:
- name: Current User
  description: Authenticated user operations
paths:
  /me:
    get:
      operationId: getCurrentUser
      summary: Get Current User Profile
      description: Retrieve the authenticated user's profile. Requires read_user scope.
      tags:
      - Current User
      security:
      - OAuth2:
        - read_user
      responses:
        '200':
          description: Authenticated user profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Unauthorized'
    put:
      operationId: updateCurrentUser
      summary: Update Current User Profile
      description: Update the authenticated user's profile. Requires write_user scope.
      tags:
      - Current User
      security:
      - OAuth2:
        - write_user
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                first_name:
                  type: string
                last_name:
                  type: string
                email:
                  type: string
                  format: email
                url:
                  type: string
                  format: uri
                location:
                  type: string
                bio:
                  type: string
                instagram_username:
                  type: string
      responses:
        '200':
          description: Updated user profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Missing or invalid authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    UserSummary:
      type: object
      description: Abbreviated user object for embedding in photo/collection responses
      properties:
        id:
          type: string
        username:
          type: string
        name:
          type: string
        portfolio_url:
          type:
          - string
          - 'null'
          format: uri
        bio:
          type:
          - string
          - 'null'
        location:
          type:
          - string
          - 'null'
        total_likes:
          type: integer
        total_photos:
          type: integer
        total_collections:
          type: integer
        profile_image:
          type: object
          properties:
            small:
              type: string
              format: uri
            medium:
              type: string
              format: uri
            large:
              type: string
              format: uri
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
            html:
              type: string
              format: uri
            photos:
              type: string
              format: uri
            likes:
              type: string
              format: uri
    User:
      allOf:
      - $ref: '#/components/schemas/UserSummary'
      - type: object
        description: Full user profile
        properties:
          email:
            type: string
            format: email
          instagram_username:
            type:
            - string
            - 'null'
          twitter_username:
            type:
            - string
            - 'null'
          downloads:
            type: integer
          followers_count:
            type: integer
          following_count:
            type: integer
          allow_messages:
            type: boolean
          numeric_id:
            type: integer
          followed_by_user:
            type: boolean
          photos:
            type: array
            items:
              $ref: '#/components/schemas/Photo'
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: string
          description: Array of human-readable error messages
    Photo:
      type: object
      description: An Unsplash photo object
      properties:
        id:
          type: string
          description: Unique photo identifier
          example: Dwu85P9SOIk
        created_at:
          type: string
          format: date-time
          description: When the photo was uploaded
        updated_at:
          type: string
          format: date-time
          description: When the photo was last updated
        promoted_at:
          type:
          - string
          - 'null'
          format: date-time
          description: When the photo was promoted to editorial feed
        width:
          type: integer
          description: Photo width in pixels
          example: 5616
        height:
          type: integer
          description: Photo height in pixels
          example: 3744
        color:
          type: string
          description: Dominant color hex code
          example: '#6E633A'
        blur_hash:
          type: string
          description: BlurHash for placeholder preview
          example: L~I64nofRjof%MQZWBS$Mxnhx]t6
        description:
          type:
          - string
          - 'null'
          description: Photographer-provided description
        alt_description:
          type:
          - string
          - 'null'
          description: Auto-generated alt text for accessibility
        likes:
          type: integer
          description: Number of likes
        downloads:
          type: integer
          description: Total download count
        views:
          type: integer
          description: Total view count
        liked_by_user:
          type: boolean
          description: Whether the current authenticated user liked this photo
        urls:
          type: object
          description: Image URLs at different sizes
          properties:
            raw:
              type: string
              format: uri
              description: Original image URL with no transformations
            full:
              type: string
              format: uri
              description: Full-quality image (large width, no compression)
            regular:
              type: string
              format: uri
              description: 1080px wide image
            small:
              type: string
              format: uri
              description: 400px wide image
            thumb:
              type: string
              format: uri
              description: 200px wide thumbnail
            small_s3:
              type: string
              format: uri
              description: Small S3-hosted image
        links:
          type: object
          description: API and site links for the photo
          properties:
            self:
              type: string
              format: uri
            html:
              type: string
              format: uri
            download:
              type: string
              format: uri
            download_location:
              type: string
              format: uri
        user:
          $ref: '#/components/schemas/UserSummary'
        location:
          type: object
          description: Location where the photo was taken
          properties:
            name:
              type:
              - string
              - 'null'
            city:
              type:
              - string
              - 'null'
            country:
              type:
              - string
              - 'null'
            position:
              type: object
              properties:
                latitude:
                  type:
                  - number
                  - 'null'
                longitude:
                  type:
                  - number
                  - 'null'
        tags:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              title:
                type: string
        exif:
          type: object
          description: Camera EXIF metadata
          properties:
            make:
              type:
              - string
              - 'null'
            model:
              type:
              - string
              - 'null'
            name:
              type:
              - string
              - 'null'
            exposure_time:
              type:
              - string
              - 'null'
            aperture:
              type:
              - string
              - 'null'
            focal_length:
              type:
              - string
              - 'null'
            iso:
              type:
              - integer
              - 'null'
  securitySchemes:
    ClientID:
      type: apiKey
      in: header
      name: Authorization
      description: 'Use `Authorization: Client-ID {YOUR_ACCESS_KEY}` for public API access. Alternatively pass as query param: `?client_id={YOUR_ACCESS_KEY}`'
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://unsplash.com/oauth/authorize
          tokenUrl: https://unsplash.com/oauth/token
          scopes:
            public: Read public data (default)
            read_user: Read user profile data
            write_user: Write user profile data
            read_photos: Read photo data
            write_photos: Write photo data (update metadata)
            write_likes: Like/unlike photos
            write_collections: Create, update, delete collections
            read_collections: Read collection data