{
  "openapi": "3.0.1",
  "info": {
    "title": "HTTP Request",
    "description": "Call any public API, one endpoint or thousands per run, and get one tidy row per call: status, headers, decoded body, timing and typed errors. Retries, proxy and webhook delivery included. Works with Clay, n8n, Make, Zapier and AI agents.",
    "version": "0.1",
    "x-build-id": "abuTZ2w5AmAyfJrnU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/data_xplorer~http-request/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-data_xplorer-http-request",
        "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/data_xplorer~http-request/runs": {
      "post": {
        "operationId": "runs-sync-data_xplorer-http-request",
        "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/data_xplorer~http-request/run-sync": {
      "post": {
        "operationId": "run-sync-data_xplorer-http-request",
        "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": {
          "requests": {
            "title": "Requests",
            "maxItems": 10000,
            "type": "array",
            "description": "One entry per call. An entry is either a URL, or an object with url and, when needed, method, headers, params, body and id. The id comes back in the result row, which makes it easy to match answers with your own records."
          },
          "url": {
            "title": "URL",
            "type": "string",
            "description": "Address of the API endpoint, starting with https:// or http://."
          },
          "method": {
            "title": "Method",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE",
              "HEAD",
              "OPTIONS"
            ],
            "type": "string",
            "description": "HTTP verb used when an entry does not name one.",
            "default": "GET"
          },
          "headers": {
            "title": "Headers",
            "type": "object",
            "description": "Name and value pairs sent with each call, typically an API key or an Accept header. An entry can replace one of them, or drop it by setting it to null."
          },
          "params": {
            "title": "Query parameters",
            "type": "object",
            "description": "Name and value pairs appended to the address after the question mark. Give several values as a list and the name is repeated, for example {\"tag\": [\"a\", \"b\"]} produces tag=a&tag=b."
          },
          "body": {
            "title": "Body",
            "type": "object",
            "description": "Payload of write calls (POST, PUT, PATCH, DELETE), serialized as JSON. Ignored by GET and HEAD. When you start the Actor from the API, a plain string is also accepted and goes out untouched."
          },
          "maxConcurrency": {
            "title": "Parallel calls",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Number of calls in flight simultaneously. Reduce it for APIs with a strict rate limit.",
            "default": 10
          },
          "timeoutSecs": {
            "title": "Timeout",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Seconds allowed for one try, from connection to the last byte of the answer.",
            "default": 30
          },
          "maxRetries": {
            "title": "Retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Number of new tries after a network failure or a status listed below. The pause grows between tries and honours the Retry-After header. A retried call still counts as one billed response. Use 0 for a single try.",
            "default": 2
          },
          "retryOnStatusCodes": {
            "title": "Statuses worth retrying",
            "type": "array",
            "description": "Status codes treated as temporary. Anything else, a 404 or a 401 for instance, is final and returned at once.",
            "default": [
              408,
              425,
              429,
              500,
              502,
              503,
              504
            ]
          },
          "followRedirects": {
            "title": "Follow redirects",
            "type": "boolean",
            "description": "Enabled: the Actor goes to the new location and records where it ended up. Disabled: you receive the 301, 302 or 307 answer itself, with its Location header.",
            "default": true
          },
          "maxRedirects": {
            "title": "Redirect limit",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Hops allowed before the call is reported as too_many_redirects.",
            "default": 5
          },
          "parseJson": {
            "title": "Decode JSON",
            "type": "boolean",
            "description": "Enabled: JSON answers are stored as structured data, ready to map field by field. Disabled: they are stored as a string.",
            "default": true
          },
          "maxResponseBytes": {
            "title": "Size limit per response",
            "minimum": 1000,
            "maximum": 10000000,
            "type": "integer",
            "description": "Bytes kept from each answer. Anything beyond is dropped and the row is marked truncated.",
            "default": 1000000
          },
          "redactSensitive": {
            "title": "Mask credentials in results",
            "type": "boolean",
            "description": "Enabled: API keys, tokens and cookies appear as [REDACTED] in the dataset, so results can be shared safely. The API you call still receives the real values. Disable it to read Set-Cookie values.",
            "default": true
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Optional address that receives every row as a JSON POST the moment it is available, without waiting for the run to finish."
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave empty to call from Apify servers, which suits nearly every API. Select a proxy to appear in a chosen country or to vary the outgoing IP address. Proxied calls have their own price, and residential ones keep at most 100 kB per answer."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}