{
  "openapi": "3.0.1",
  "info": {
    "title": "Auto Dataset Analysis & HTML Reports",
    "description": "Simply input any tabular dataset, and you'll receive a detailed and elegantly formatted profiling report in return—no coding skills necessary. This user-friendly process allows you to effortlessly explore the dataset's characteristics and insights, making data analysis accessible to everyone.",
    "version": "0.0",
    "x-build-id": "CtJfXvrevw7Au5GZb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/moving_beacon-owner1~my-actor-74/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-moving_beacon-owner1-my-actor-74",
        "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/moving_beacon-owner1~my-actor-74/runs": {
      "post": {
        "operationId": "runs-sync-moving_beacon-owner1-my-actor-74",
        "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/moving_beacon-owner1~my-actor-74/run-sync": {
      "post": {
        "operationId": "run-sync-moving_beacon-owner1-my-actor-74",
        "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": [
          "dataSource"
        ],
        "properties": {
          "dataSource": {
            "title": "Data Source Type",
            "enum": [
              "csvUrl",
              "jsonUrl",
              "rawJson",
              "apifyDatasetId"
            ],
            "type": "string",
            "description": "Where the dataset comes from. Each option reads from a different field below — the others are ignored.",
            "default": "csvUrl"
          },
          "sourceUrl": {
            "title": "Source URL",
            "pattern": "^\\s*$|^https?://.+",
            "type": "string",
            "description": "Direct download URL of a CSV or JSON file. Used only when Data Source is 'CSV URL' or 'JSON URL'. The URL must be publicly accessible (or reachable via the configured proxy)."
          },
          "rawJson": {
            "title": "Raw JSON Data",
            "type": "string",
            "description": "Paste a JSON array of flat objects directly, e.g. [{\"name\":\"Alice\",\"age\":30}, {\"name\":\"Bob\",\"age\":25}]. Used only when Data Source is 'Raw JSON Array'. Best for quick ad-hoc profiling without uploading a file."
          },
          "apifyDatasetId": {
            "title": "Apify Dataset ID",
            "type": "string",
            "description": "ID of an existing Apify dataset (the alphanumeric string from the dataset's URL or API). Used only when Data Source is 'Apify Dataset ID'. Lets you profile output from another actor without re-uploading."
          },
          "reportTitle": {
            "title": "Report Title",
            "type": "string",
            "description": "Heading shown at the top of the generated HTML report. Examples: 'Q4 Sales Profile', 'User Survey 2026'.",
            "default": "Data Profiling Report"
          },
          "sampleRows": {
            "title": "Max Sample Rows",
            "minimum": 0,
            "type": "integer",
            "description": "Limit analysis to the first N rows. Useful for very large datasets where a representative sample is enough. Set to 0 to analyse every row.",
            "default": 0
          },
          "correlationThreshold": {
            "title": "Correlation Alert Threshold",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "Column pairs whose absolute correlation exceeds this value are highlighted as 'highly correlated' in the report. 0.8 is a strong default; raise to 0.9+ for very strict alerts.",
            "default": 0.8
          },
          "missingThreshold": {
            "title": "Missing Data Alert (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Columns where the percentage of missing/null values exceeds this threshold are flagged as problematic. Lower values are stricter.",
            "default": 10
          },
          "outputFormat": {
            "title": "Output Format",
            "enum": [
              "html",
              "json",
              "both"
            ],
            "type": "string",
            "description": "What to produce. HTML is human-readable with charts; JSON is machine-readable for downstream pipelines.",
            "default": "html"
          },
          "includeHistograms": {
            "title": "Include Histograms",
            "type": "boolean",
            "description": "Render a histogram chart for every numeric column in the HTML report. Disable for faster runs on wide numeric datasets.",
            "default": true
          },
          "includeCorrelationMatrix": {
            "title": "Include Correlation Matrix",
            "type": "boolean",
            "description": "Compute and display a heat-map correlation matrix across all numeric columns. Can be slow on datasets with many numeric columns.",
            "default": true
          },
          "detectOutliers": {
            "title": "Detect Outliers",
            "type": "boolean",
            "description": "Flag statistical outliers in numeric columns using the interquartile range (IQR) method. The sensitivity is controlled by Outlier IQR Multiplier below.",
            "default": true
          },
          "outlierIqrMultiplier": {
            "title": "Outlier IQR Multiplier",
            "minimum": 0.5,
            "maximum": 5,
            "type": "number",
            "description": "Multiplier applied to the IQR when defining the outlier fence. The standard convention is 1.5 (mild outliers) and 3.0 (extreme outliers). Higher values flag fewer points. Used only when Detect Outliers is on.",
            "default": 1.5
          },
          "cardinalityThreshold": {
            "title": "High Cardinality Threshold",
            "minimum": 1,
            "type": "integer",
            "description": "Columns with more unique values than this are tagged 'high cardinality' in the report — useful for spotting free-text or ID columns that aren't suitable for grouping.",
            "default": 50
          },
          "csvDelimiter": {
            "title": "CSV Delimiter",
            "type": "string",
            "description": "Character separating fields in a CSV. Common values: ',' (comma), ';' (semicolon, common in EU locales), '\\t' (tab). Leave empty to auto-detect. Used only for CSV sources.",
            "default": ","
          },
          "csvEncoding": {
            "title": "CSV Encoding",
            "enum": [
              "utf-8",
              "latin1",
              "ascii",
              "utf-16"
            ],
            "type": "string",
            "description": "Character encoding of the CSV file. UTF-8 is the safe modern default; Latin-1 is common for older European data; UTF-16 appears in some Windows exports. Used only for CSV sources.",
            "default": "utf-8"
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Apify Proxy settings for fetching remote CSV/JSON sources. Useful when source URLs are geo-restricted or rate-limited by IP.",
            "default": {
              "useApifyProxy": false
            }
          },
          "requestTimeoutSecs": {
            "title": "Request Timeout (seconds)",
            "minimum": 5,
            "maximum": 300,
            "type": "integer",
            "description": "How long to wait for a remote CSV/JSON download before giving up. Increase for very large files or slow hosts.",
            "default": 60
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}