{
  "openapi": "3.0.1",
  "info": {
    "title": "CSV & Excel to Dataset: Convert XLSX, CSV & JSON Files to Rows",
    "description": "Turn public CSV, TSV, Excel (XLSX, XLSM, XLS) and JSON/JSONL files into dataset rows, one item per row with the column headers as keys. Works with Google Sheets, Google Drive and Dropbox share links. Chain the rows into other Actors or export them.",
    "version": "0.0",
    "x-build-id": "iDLjrmDseuppDl4Ra"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/charlesmarkette~csv-excel-to-dataset-xlsx-json-converter/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-charlesmarkette-csv-excel-to-dataset-xlsx-json-converter",
        "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/charlesmarkette~csv-excel-to-dataset-xlsx-json-converter/runs": {
      "post": {
        "operationId": "runs-sync-charlesmarkette-csv-excel-to-dataset-xlsx-json-converter",
        "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/charlesmarkette~csv-excel-to-dataset-xlsx-json-converter/run-sync": {
      "post": {
        "operationId": "run-sync-charlesmarkette-csv-excel-to-dataset-xlsx-json-converter",
        "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": [
          "fileUrls"
        ],
        "properties": {
          "fileUrls": {
            "title": "File URLs",
            "type": "array",
            "description": "One per line. Public links to CSV, TSV, TXT (delimited), Excel (XLSX, XLSM, XLS) or JSON / JSON Lines files. The format is detected from the file's content, so links without an extension work. Google Sheets and Google Drive links (shared as 'Anyone with the link') and Dropbox shared links are turned into download links for you. OneDrive and SharePoint links aren't supported.",
            "items": {
              "type": "string"
            }
          },
          "sheets": {
            "title": "Which sheets (Excel and Google Sheets)",
            "enum": [
              "first",
              "all",
              "named"
            ],
            "type": "string",
            "description": "First: only the first sheet (tab) of each workbook. All: every sheet, each row tagged with its sheet name in _sheet. Named: only the sheets listed below. For a Google Sheets link with First, the tab in the link (#gid=…) is used.",
            "default": "first"
          },
          "sheetNames": {
            "title": "Sheet names",
            "type": "array",
            "description": "Used with 'Only the sheets named below'. Exact names first, then ignoring upper/lower case and extra spaces.",
            "items": {
              "type": "string"
            }
          },
          "headerRow": {
            "title": "Header row number",
            "minimum": 0,
            "type": "integer",
            "description": "The row that holds the column names (1 = the first row). Rows above it are skipped. 0 = the file has no header row: columns are named column1, column2, …",
            "default": 1
          },
          "skipEmptyRows": {
            "title": "Skip empty rows",
            "type": "boolean",
            "description": "Leave out rows where every cell is empty.",
            "default": true
          },
          "trimValues": {
            "title": "Trim spaces around values",
            "type": "boolean",
            "description": "Remove spaces, tabs and line breaks at the start and end of each text value. Column names are kept exactly as written.",
            "default": false
          },
          "inferTypes": {
            "title": "Convert numbers and true/false in text files",
            "type": "boolean",
            "description": "Off: CSV/TSV values stay text exactly as in the file. On: numbers become numbers, true/false become booleans and empty cells become null. Numbers with leading zeros (ZIP codes, IDs), very long numbers and numbers with thousands separators stay text. Excel cells are always typed as in the workbook (numbers, booleans, dates as ISO 8601).",
            "default": false
          },
          "delimiter": {
            "title": "Delimiter (CSV / TXT)",
            "enum": [
              "auto",
              ",",
              ";",
              "tab",
              "|"
            ],
            "type": "string",
            "description": "Auto detects comma, semicolon, tab or pipe from the start of the file (and honours Excel's sep= line).",
            "default": "auto"
          },
          "encoding": {
            "title": "Text encoding",
            "type": "string",
            "description": "auto: UTF-16 if the file starts with its byte-order mark, then UTF-8 (with or without BOM), then Windows-1252, then Latin-1. Or name one, e.g. utf-8, windows-1252, latin-1, iso-8859-2, windows-1251, shift_jis, gb18030.",
            "default": "auto"
          },
          "jsonPath": {
            "title": "JSON path",
            "type": "string",
            "description": "Optional. For JSON files: the dotted path to the list to read, e.g. data.items or results. Without it, a top-level list is read, or the only list of objects inside a top-level object."
          },
          "addSourceFields": {
            "title": "Add _file, _sheet and _row",
            "type": "boolean",
            "description": "Add the original URL (_file), the sheet name (_sheet, null for CSV and JSON) and the row's 1-based number in the file or sheet as you'd see it in Excel (_row) to every row.",
            "default": true
          },
          "maxRowsPerFile": {
            "title": "Max rows per file",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Read at most this many rows from each file (all chosen sheets together)."
          },
          "maxResults": {
            "title": "Max output rows",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Stop the run after this many rows in total."
          },
          "maxFileSizeMb": {
            "title": "Max file size (MB)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Bigger files are skipped with a free error row. Up to 500 MB.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}