{
  "openapi": "3.0.1",
  "info": {
    "title": "SEC Filings to Markdown for AI (10-K, 10-Q, 8-K)",
    "description": "Convert SEC 10-K, 10-Q and 8-K filings into clean, section-split markdown with tables and metadata. Official SEC endpoints only.",
    "version": "0.4",
    "x-build-id": "axdvuz4hgexOgZpNz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/plainpagelabs~sec-edgar-to-markdown/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-plainpagelabs-sec-edgar-to-markdown",
        "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/plainpagelabs~sec-edgar-to-markdown/runs": {
      "post": {
        "operationId": "runs-sync-plainpagelabs-sec-edgar-to-markdown",
        "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/plainpagelabs~sec-edgar-to-markdown/run-sync": {
      "post": {
        "operationId": "run-sync-plainpagelabs-sec-edgar-to-markdown",
        "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": {
          "tickers": {
            "title": "Tickers",
            "type": "array",
            "description": "Company stock symbols, for example [\"JPM\"]. Supply tickers or ciks; neither has an API default. Tickers require an extra SEC lookup. At most 32 characters per ticker and 1000 tickers plus CIKs combined. Clear the sample ciks and accessionNumbers when choosing a different company.",
            "items": {
              "type": "string"
            }
          },
          "ciks": {
            "title": "CIKs",
            "type": "array",
            "description": "SEC company identifiers (Central Index Keys), for example [\"0000019617\"] for JPMorgan Chase. Use 1 to 10 digits as strings, with or without leading zeros. Supply ciks or tickers; neither has an API default. At most 1000 combined. Clear the sample accessionNumbers when changing company.",
            "items": {
              "type": "string"
            }
          },
          "accessionNumbers": {
            "title": "Accession numbers",
            "type": "array",
            "description": "Exact SEC filing identifiers, for example [\"0001628280-26-045167\"]. Also supply that company's ticker or CIK. Up to 1000; standard hyphens are optional. Default is no exact filing filter. When set, formTypes and date filters are ignored, but unsupported forms are still excluded. maxFilings still caps the total.",
            "items": {
              "type": "string"
            }
          },
          "formTypes": {
            "title": "Form types",
            "type": "array",
            "description": "SEC report types to retrieve: 10-K annual, 10-Q quarterly, 8-K current reports, or their /A amendments. Default is [\"10-K\",\"10-Q\",\"8-K\"]; add /A forms explicitly for amendments. Example: [\"8-K\"]. Ignored when accessionNumbers is set. Forms 3, 4 and 5 are unsupported.",
            "items": {
              "type": "string",
              "enum": [
                "10-K",
                "10-K/A",
                "10-Q",
                "10-Q/A",
                "8-K",
                "8-K/A"
              ]
            },
            "default": [
              "10-K",
              "10-Q",
              "8-K"
            ]
          },
          "dateFrom": {
            "title": "Filed on or after",
            "type": "string",
            "description": "Optional earliest SEC filing date, inclusive, in YYYY-MM-DD format. Example: \"2026-01-01\". This is the filing date, not the financial reporting period. Omit for no lower date bound; do not send an empty string. Ignored when accessionNumbers is set."
          },
          "dateTo": {
            "title": "Filed on or before",
            "type": "string",
            "description": "Optional latest SEC filing date, inclusive, in YYYY-MM-DD format. Example: \"2026-06-30\". This is the filing date, not the financial reporting period. Omit for no upper date bound; do not send an empty string. Ignored when accessionNumbers is set."
          },
          "maxFilings": {
            "title": "Max filings",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum filings for the entire run across all companies and exact accessions, newest filing date first. Default and safe starting example: 1; allowed range 1 to 1000. Each eligible delivered filing costs $0.003 ($3 per 1,000), including useful partial results; sections and chunks do not add charges. A new run can bill the same filing again.",
            "default": 1
          },
          "sections": {
            "title": "Section filter",
            "type": "array",
            "description": "Sections to return. Default and example: [] for all detected sections. For a 10-K, use [\"7\"] or [\"mdna\"] for management discussion; other aliases include risk_factors, business, financial_statements, market_risk, controls, legal_proceedings and cybersecurity. Aliases depend on the form; 10-Q codes include II-1A and 8-K codes include 8.01. Up to 1000 selectors, 64 characters each. Inspect selectionStatus and warnings. No-match results are free. Not-applicable-only selections are free unless includeFullMarkdown delivers substantive full-document content.",
            "items": {
              "type": "string"
            }
          },
          "includeFullMarkdown": {
            "title": "Include full-document markdown",
            "type": "boolean",
            "description": "Default and example: false. Set true to add the full converted main document after content exclusions in top-level markdown, alongside the selected sections. This can make a not-applicable-only selection billable when substantive full-document content is delivered. No-match results omit it. Keep false in chunks mode; true is rejected there. Large inline output may exceed the 4 MiB row limit; use artifacts mode for larger results.",
            "default": false
          },
          "includeExhibits": {
            "title": "Include exhibits",
            "type": "boolean",
            "description": "Default and example: false. Set true to also fetch indexed HTML EX-* exhibits, up to 50 and 32 MiB total. Adds SEC requests; non-HTML files are not converted. Requires usable selected content or billable full-document output. Not-applicable-only selections skip downloads unless substantive full-document output makes the filing billable. Check warnings for omissions. Keep false in chunks mode; true is rejected there. No extra per-exhibit charge.",
            "default": false
          },
          "resolveIncorporatedByReference": {
            "title": "Fetch Items incorporated by reference (Exhibit 13)",
            "type": "boolean",
            "description": "Default and example: false. Set true to try recovering missing or referenced 10-K sections from indexed Exhibit 13 annual reports. Adds SEC requests and may still leave partial results. Source links and warnings show what was recovered. This is separate from includeExhibits and can be used with chunks mode. No extra per-exhibit charge.",
            "default": false
          },
          "chunkSize": {
            "title": "Chunk size (tokens)",
            "minimum": 0,
            "maximum": 8000,
            "type": "integer",
            "description": "Maximum tokens per returned text chunk. Default: 0 (no chunking). Example: 2000; otherwise use an integer from 100 to 8000. Required above zero with outputMode chunks; in filings or artifacts mode, chunks stay nested inside sections. Tokens use o200k_base, so other models may count differently. Oversized table rows may become flagged tableFragment text. No extra per-chunk charge.",
            "default": 0
          },
          "outputMode": {
            "title": "Output mode",
            "enum": [
              "filings",
              "chunks",
              "artifacts"
            ],
            "type": "string",
            "description": "Default and example: filings, returning sections nested in one row per filing. Choose chunks for flat rows with text: also set chunkSize to 100..8000 and leave includeFullMarkdown and includeExhibits false. Choose artifacts for a small row linking to the selected result JSON in the key-value store, not automatically the full document; includeFullMarkdown controls that. Inline rows have a 4 MiB limit; artifacts a 64 MiB limit. Diagnostic/no-match rows can also appear. Keep the default key-value store. One eligible filing costs $0.003 in any mode, not per row.",
            "default": "filings"
          },
          "contactName": {
            "title": "Your name or company (sent to SEC)",
            "type": "string",
            "description": "Optional name or company sent to SEC in the User-Agent, at most 200 characters. Default and example: \"Plainpage Labs\". All requests use the same SEC limiter regardless of the supplied contact.",
            "default": "Plainpage Labs"
          },
          "contactEmail": {
            "title": "Your email (sent to SEC)",
            "type": "string",
            "description": "Optional. Your monitored email, sent to SEC in the User-Agent. If blank, we use our own contact. If you supply one, you're responsible for its accuracy."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}