{
  "openapi": "3.0.1",
  "info": {
    "title": "Pexels Scraper: Stock Photos & Videos, No API Key",
    "description": "Scrape Pexels photos and videos by keyword, URL, ID, creator, collection or similar media, no API key. Filter by orientation, size, people, resolution and duration. Get download links, tags and attribution, plus optional views, downloads, likes and camera data.",
    "version": "0.1",
    "x-build-id": "skzT6vIHOAdigNvXc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation-lab~pexels-stock-media-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation-lab-pexels-stock-media-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/automation-lab~pexels-stock-media-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation-lab-pexels-stock-media-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/automation-lab~pexels-stock-media-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation-lab-pexels-stock-media-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "queries": {
            "title": "🔎 Search keywords",
            "type": "array",
            "description": "Topics to search on Pexels, such as coffee, remote work, or ocean waves.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Pexels URLs",
            "type": "array",
            "description": "Public pexels.com URLs: a search, photo, video, creator (/@name/), collection, /photos/ or /videos/ page. A photo or video URL returns that one asset, and it also works with only the number (/video/1409899/).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "mediaIds": {
            "title": "🆔 Media IDs",
            "type": "array",
            "description": "Numeric Pexels photo or video IDs, such as 459489. Each returns that one asset. Filters do not apply to exact IDs.",
            "items": {
              "type": "string"
            }
          },
          "usernames": {
            "title": "👤 Creators",
            "type": "array",
            "description": "Pexels usernames or profile URLs, such as pixabay. Returns the creator's portfolio, newest first.",
            "items": {
              "type": "string"
            }
          },
          "collections": {
            "title": "🗂️ Collections",
            "type": "array",
            "description": "Public Pexels collection slugs or URLs, such as coffee-beans-52hiqzw.",
            "items": {
              "type": "string"
            }
          },
          "similarTo": {
            "title": "🧲 Similar to",
            "type": "array",
            "description": "Photo or video IDs or URLs. Returns media Pexels shows as similar to each one.",
            "items": {
              "type": "string"
            }
          },
          "curated": {
            "title": "⭐ Curated feed",
            "type": "boolean",
            "description": "Also collect the Pexels home page feed for photos, or the videos feed for videos.",
            "default": false
          },
          "mediaType": {
            "title": "🎞️ Media type",
            "enum": [
              "photos",
              "videos",
              "all"
            ],
            "type": "string",
            "description": "Choose photos, videos, or both. Applies to keywords, creators, collections and the curated feed. A URL in Pexels URLs returns what that page shows.",
            "default": "photos"
          },
          "orientation": {
            "title": "📐 Orientation",
            "enum": [
              "any",
              "landscape",
              "portrait",
              "square"
            ],
            "type": "string",
            "description": "Keep only landscape, portrait or square media.",
            "default": "any"
          },
          "size": {
            "title": "🖼️ Size",
            "enum": [
              "any",
              "large",
              "medium"
            ],
            "type": "string",
            "description": "Pexels size class. Keyword and search URL inputs only.",
            "default": "any"
          },
          "peopleCount": {
            "title": "🧑 People in the media",
            "enum": [
              "any",
              "0",
              "1",
              "2"
            ],
            "type": "string",
            "description": "Number of people shown. Keyword and search URL inputs only.",
            "default": "any"
          },
          "minWidth": {
            "title": "Minimum width (px)",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only media at least this wide, such as 3840 for 4K."
          },
          "minHeight": {
            "title": "Minimum height (px)",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only media at least this tall."
          },
          "minDuration": {
            "title": "Minimum video length (s)",
            "minimum": 1,
            "type": "integer",
            "description": "Videos only. Requires media type Videos or Photos and videos."
          },
          "maxDuration": {
            "title": "Maximum video length (s)",
            "minimum": 1,
            "type": "integer",
            "description": "Videos only. Requires media type Videos or Photos and videos."
          },
          "includeDetails": {
            "title": "📊 Include views, downloads, likes and camera data",
            "type": "boolean",
            "description": "Adds views, downloads and likes to every record, and camera, lens settings, file size and place to photos. Slower, because each record needs extra requests. The price per record stays the same.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum media records",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Global maximum across all inputs, from 1 to 10,000. Keep the first run small, then increase for production exports. Pexels shows at most 480 results per search; a larger request continues through each orientation, up to about 1,440 per keyword.",
            "default": 20
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "Optional Apify Proxy settings. Enable residential proxies if Pexels challenges repeated requests from your location."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}