Skip to main content

The Pexels API enables programmatic access to the full Pexels content library, including photos, videos

Project description

Pexels API Python

This Python API wrapper provides easy access to the Pexels API, allowing you to search and retrieve high-quality photos and videos for your projects.

Features

  • Search for photos and videos

  • Access curated and popular content

  • Retrieve specific photos and videos by ID

  • Explore featured collections

  • Manage your personal collections

Installation

bash

pip install pexels-apis

Usage

python

  • from pexels_apis import PexelsAPI
  • pexels = PexelsAPI("YOUR_API_KEY")
  • photos = pexels.search_photos({"query": "nature", "per_page": 10}) # Search for photos photos
  • curated_photos = pexels.get_curated_photos({"per_page": 15}) # Get curated photos
  • photo = pexels.get_photo(id=44315}) # Get photos by ID
  • videos = pexels.search_videos({"query": "ocean", "per_page": 5}) # Search for videos
  • popular_videos = pexels.get_popular_videos({"per_page": 20}) # Get popular videos
  • video = pexels.get_video(id=44315}) # Get vidoe by ID
  • collections = pexels.get_featured_collections({"per_page": 10}) # Get featured
  • my_collections = pexels.get_my_collections({"per_page": 10}) # Get featured

Available Methods

Photos


  • pexels.search_photos(params): Search for photos. Parameters in dict {} includes
    • query string | required The search query. Ocean, Tigers, Pears, etc.
    • orientation string | optional. Desired photo orientation. The current supported orientations are: landscape, portrait or square.
    • size string | optional. Minimum photo size. The current supported sizes are: large(24MP), medium(12MP) or small(4MP).
    • color string | optional. Desired photo color. Supported colors: red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white or any hexidecimal color code (eg. #ffffff).
    • locale string | optional. The locale of the search you are performing. The current supported locales are: 'en-US' 'pt-BR' 'es-ES' 'ca-ES' 'de-DE' 'it-IT' 'fr-FR' 'sv-SE' 'id-ID' 'pl-PL' 'ja-JP' 'zh-TW' 'zh-CN' 'ko-KR' 'th-TH' 'nl-NL' 'hu-HU' 'vi-VN' 'cs-CZ' 'da-DK' 'fi-FI' 'uk-UA' 'el-GR' 'ro-RO' 'nb-NO' 'sk-SK' 'tr-TR' 'ru-RU'.
    • page integer | optional. The page number you are requesting. Default: 1
    • per_page integer | optional. The number of results you are requesting per page. Default: 15 Max: 80

Response: {"status_code": 200|401|412|500, "status": "success", "data": {'x':'y'}} or {"status_code": 200|401|412|500,"status": "error", "error": "error message"}

  • pexels.curated_photos(params): Get curated photos. Parameters in dict {} includes

    • page integer | optional. The page number you are requesting. Default: 1
    • per_page integer | optional. The number of results you are requesting per page. Default: 15 Max: 80
  • pexels.get_photos(id): Retrieve a specific photo by ID. Parameters as id

    • id integer | required

Videos


  • pexels.search_videos(params): Search for videos. Parameters in dict {} includes

    • query string | required The search query. Ocean, Tigers, Pears, etc.
    • orientation string | optional. Desired photo orientation. The current supported orientations are: landscape, portrait or square.
    • size string | optional. Minimum photo size. The current supported sizes are: large(24MP), medium(12MP) or small(4MP).
    • locale string | optional. The locale of the search you are performing. The current supported locales are: 'en-US' 'pt-BR' 'es-ES' 'ca-ES' 'de-DE' 'it-IT' 'fr-FR' 'sv-SE' 'id-ID' 'pl-PL' 'ja-JP' 'zh-TW' 'zh-CN' 'ko-KR' 'th-TH' 'nl-NL' 'hu-HU' 'vi-VN' 'cs-CZ' 'da-DK' 'fi-FI' 'uk-UA' 'el-GR' 'ro-RO' 'nb-NO' 'sk-SK' 'tr-TR' 'ru-RU'.
    • page integer | optional. The page number you are requesting. Default: 1
    • per_page integer | optional. The number of results you are requesting per page. Default: 15 Max: 80
  • pexels.get_popular_videos(params): Get popular videos

    • min_width integer | optional. The minimum width in pixels of the returned videos.
    • min_height integer | optional. The minimum height in pixels of the returned videos.
    • min_duration integer | optional. The minimum duration in seconds of the returned videos.
    • max_duration integer | optional. The maximum duration in seconds of the returned videos.
    • page integer | optional. The page number you are requesting. Default: 1
    • per_page integer | optional. The number of results you are requesting per page. Default: 15 Max: 80
  • pexels.get_video(id): Retrieve a specific video by ID

    • id integer | required

Collections


  • pexels.get_featured_collections(params): Get featured collections

    • page integer | optional. The page number you are requesting. Default: 1
    • per_page integer | optional. The number of results you are requesting per page. Default: 15 Max: 80
  • pexels.get_my_collections(params): Get your personal collections

    • page integer | optional. The page number you are requesting. Default: 1
    • per_page integer | optional. The number of results you are requesting per page. Default: 15 Max: 80
  • pexels.get_collection_media(params): Get media from a specific collection

    • type string | optional. The type of media you are requesting. If not given or if given with an invalid value, all media will be returned. Supported values are photos and videos.
    • sort string | optional. The order of items in the media collection. Supported values are: asc, desc. Default: asc
    • page integer | optional. The page number you are requesting. Default: 1
    • per_page integer | optional. The number of results you are requesting per page. Default: 15 Max: 80

Parameters

Most methods accept a dictionary of parameters. Common parameters include:

  • query: Search query (required for search methods)
  • page: Page number (default: 1)
  • per_page: Results per page (default: 15, max: 80)
  • orientation: Photo/video orientation (landscape, portrait, square)
  • size: Minimum size (large, medium, small)
  • locale: Search locale (e.g., 'en-US', 'fr-FR')
  • color: Desired photo color. Supported colors: red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white or any hexidecimal color code (eg. #ffffff).

Response

The API returns JSON responses containing relevant data such as:

  • Arrays of Photo or Video objects
  • Pagination information
  • Total results
  • Next/previous page URLs

Error Handling

The API wrapper includes basic error handling for invalid parameters and API responses. Always check the returned data for any error messages or unexpected results.

Guidelines

Please adhere to the Pexels API Guidelines when using this wrapper and the content provided by Pexels.

Links

PYPI Github

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pexels_apis-0.0.5.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

pexels_apis-0.0.5-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file pexels_apis-0.0.5.tar.gz.

File metadata

  • Download URL: pexels_apis-0.0.5.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pexels_apis-0.0.5.tar.gz
Algorithm Hash digest
SHA256 898b45f29bb22c4f880ec344219d90013c3905aa4f11aa602ee2d5565ac45827
MD5 0cf054950eb2ccb174ae622acc8a2937
BLAKE2b-256 39d13b5416f51b12fbdc978792deefcd1cbe18ffc73aa0301dc231210d29d0e6

See more details on using hashes here.

File details

Details for the file pexels_apis-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: pexels_apis-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pexels_apis-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1a7f983adc5a3af5a5027eddd6644cc8b94b38c5e57019d5b80cc1651c9c086a
MD5 c078068892ffbc3469240b8e152db843
BLAKE2b-256 293806d44c306160467c4acfcb127cb2d0706d2a8190d9ba283317e375ff3ffc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page