{
  "openapi": "3.0.1",
  "info": {
    "title": "HTTP API Request Runner",
    "description": "Call APIs you are authorized to use with your own key in an encrypted secret field. $2 per 1,000 requests answered 2xx/3xx; $0.005-$0.01 start fee per run.",
    "version": "0.2",
    "x-build-id": "R57Q63XPUlpE3NWif"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/luxe_tasks~http-runner/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-luxe_tasks-http-runner",
        "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/luxe_tasks~http-runner/runs": {
      "post": {
        "operationId": "runs-sync-luxe_tasks-http-runner",
        "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/luxe_tasks~http-runner/run-sync": {
      "post": {
        "operationId": "run-sync-luxe_tasks-http-runner",
        "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",
        "required": [
          "requests"
        ],
        "properties": {
          "requests": {
            "title": "Request URLs",
            "type": "array",
            "description": "One HTTP request is made per URL (http/https; no crawling, links are never followed). Keys go in the secret fields below, never in the URL.",
            "items": {
              "type": "string"
            }
          },
          "method": {
            "title": "HTTP method",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE",
              "HEAD",
              "OPTIONS"
            ],
            "type": "string",
            "description": "Method for every request. POST/PATCH are never retried. POST, PUT, PATCH and DELETE (and OPTIONS with a body) need the attestation below, reach at most 3 registered domains per run and never send form bodies (urlencoded or multipart).",
            "default": "GET"
          },
          "requestBody": {
            "title": "Request body",
            "type": "string",
            "description": "Optional body (not with GET/HEAD). Credential-named fields must hold {{apiKey}} (with \"API key placement\" = bodyPlaceholder).",
            "default": ""
          },
          "bodyContentType": {
            "title": "Body content type",
            "enum": [
              "application/json",
              "application/x-www-form-urlencoded",
              "text/plain",
              "application/xml"
            ],
            "type": "string",
            "description": "Content-Type of the request body.",
            "default": "application/json"
          },
          "customHeaders": {
            "title": "Extra headers (not secret)",
            "type": "object",
            "description": "Allowlist: Accept, Accept-Language, Content-Type, Cache-Control, Pragma, If-*, Prefer, Content-Language, DNT, or any X-* name. Identity, cookie, proxy, forwarding and transport headers are refused. Authentication headers (Authorization, Cookie, tokens, keys) are refused here; use the secret field."
          },
          "apiKey": {
            "title": "API key (secret)",
            "type": "string",
            "description": "Your own key for the API you call. You may supply only credentials for accounts you own or are authorized to use, for APIs whose terms permit access through automation tools. Your credentials are encrypted by Apify and used only to make the requests you specify in this run; we do not log or store them. Encrypted by Apify (secret input); never logged, stored or returned by this Actor."
          },
          "apiKeyIn": {
            "title": "API key placement",
            "enum": [
              "bearer",
              "header",
              "query",
              "basic",
              "bodyPlaceholder"
            ],
            "type": "string",
            "description": "bearer = \"Authorization: Bearer <key>\"; header = the header named below; query = the query parameter named below; basic = key is user:password (HTTP Basic); bodyPlaceholder = replaces {{apiKey}} in the body. The key is sent only to the origin of each input URL, never across a redirect to another origin.",
            "default": "bearer"
          },
          "apiKeyHeaderName": {
            "title": "API key header name",
            "type": "string",
            "description": "Used when placement = header.",
            "default": "X-API-Key"
          },
          "apiKeyQueryParam": {
            "title": "API key query parameter",
            "type": "string",
            "description": "Used when placement = query.",
            "default": "api_key"
          },
          "secretHeaders": {
            "title": "Secret headers",
            "type": "object",
            "description": "Optional JSON object of header name -> value for other auth headers of your own account (Cookie and session headers are refused). Encrypted by Apify (secret input); never logged, stored or returned by this Actor."
          },
          "followRedirects": {
            "title": "Follow redirects",
            "type": "boolean",
            "description": "Each hop is re-checked (private networks, Apify hosts, robots.txt, rate limit). Secrets are dropped on a cross-origin hop.",
            "default": true
          },
          "maxRedirects": {
            "title": "Max redirects",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "0-5.",
            "default": 5
          },
          "timeoutSecs": {
            "title": "Timeout (seconds)",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Per request (each redirect hop), headers and body included. Max 60.",
            "default": 30
          },
          "maxResponseBytes": {
            "title": "Max response size (bytes)",
            "minimum": 1024,
            "maximum": 5242880,
            "type": "integer",
            "description": "Larger responses are refused, not charged. Max 5242880 (5 MiB).",
            "default": 1048576
          },
          "responseFormat": {
            "title": "Response body format",
            "enum": [
              "auto",
              "json",
              "text",
              "base64",
              "none"
            ],
            "type": "string",
            "description": "auto = parsed JSON for JSON responses, text for text, base64 otherwise.",
            "default": "auto"
          },
          "includeResponseHeaders": {
            "title": "Include response headers",
            "type": "boolean",
            "description": "Set-Cookie headers are never included.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Items processed in parallel (each site still gets at most 1 request per second).",
            "default": 3
          },
          "credentialOwnershipAttestation": {
            "title": "I own or am authorized to use these credentials, and I use write methods only as permitted",
            "type": "boolean",
            "description": "Required with a secret, and with POST, PUT, PATCH or DELETE (or OPTIONS with a body): you may supply only credentials for accounts you own or are authorized to use, for APIs whose terms permit access through automation tools; and you will not use write methods to submit forms, sign-ups, comments, messages or webhook calls to services you do not own or have permission to use, or to attempt logins.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}