{
  "openapi": "3.0.1",
  "info": {
    "title": "Unsplash Image Scraper",
    "description": "Turn Unsplash into structured photo data — no API key, no rate limits to apply for. Search keywords or paste any collection, topic, or photographer URL. Every row: 5 image sizes, full attribution, EXIF, geolocation, views and downloads. Premium filtered out. JSON/CSV export",
    "version": "0.0",
    "x-build-id": "Flffd1QbhoVAjCn8G"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~unsplash-image-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-unsplash-image-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/memo23~unsplash-image-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-unsplash-image-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/memo23~unsplash-image-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-unsplash-image-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": "Keywords to search",
            "type": "array",
            "description": "One per line, e.g. nature, coffee shop or minimal workspace.",
            "items": {
              "type": "string"
            }
          },
          "orderBy": {
            "title": "Result order",
            "enum": [
              "relevant",
              "latest"
            ],
            "type": "string",
            "description": "Best match (default) or newest first.",
            "default": "relevant"
          },
          "color": {
            "title": "Main color",
            "enum": [
              "any",
              "black_and_white",
              "white",
              "black",
              "red",
              "orange",
              "yellow",
              "green",
              "teal",
              "blue",
              "purple",
              "magenta"
            ],
            "type": "string",
            "description": "Keep photos whose dominant tone is this color. Any color (default) keeps all.",
            "default": "any"
          },
          "orientation": {
            "title": "Shape",
            "enum": [
              "any",
              "portrait",
              "landscape",
              "squarish"
            ],
            "type": "string",
            "description": "Keep only tall, wide or near-square photos. Any shape (default) keeps all.",
            "default": "any"
          },
          "startUrls": {
            "title": "unsplash.com pages",
            "type": "array",
            "description": "Optional links to a search (/s/photos/{term}), a collection (/collections/{id}/...), a topic (/t/{slug}), a photographer (/@{username}) or one photo (/photos/{slug}). They run alongside the keywords.",
            "items": {
              "type": "string"
            }
          },
          "includePremium": {
            "title": "Include Unsplash+ (premium) photos",
            "type": "boolean",
            "description": "Off (default): Unsplash+ photos are skipped, so every row you pay for is a photo you can use for free. Their full-size images carry a watermark unless you have an Unsplash+ subscription.",
            "default": false
          },
          "includePhotoDetails": {
            "title": "Add camera, location, views and downloads",
            "type": "boolean",
            "description": "Off (default). On: each photo is opened for its camera settings (make, model, aperture, ISO and more), location, view and download counts, tags and topics. One more request per photo, so runs take longer.",
            "default": false
          },
          "maxItems": {
            "title": "Photos in total",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops after this many photos across all keywords and links, default 100. On the free Apify plan a run stops at 100.",
            "default": 100
          },
          "maxConcurrency": {
            "title": "Photos opened at once",
            "minimum": 1,
            "type": "integer",
            "description": "How many photos are opened in parallel for their details, default 10.",
            "default": 10
          },
          "maxRequestRetries": {
            "title": "Tries per request",
            "minimum": 1,
            "type": "integer",
            "description": "How many times a failed request is tried before it is given up, default 5.",
            "default": 5
          },
          "proxy": {
            "title": "Your own proxy (optional)",
            "type": "object",
            "description": "Leave empty: the actor's own connection is included at no extra cost. Set a proxy here only to route the run through your own."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}