{
  "openapi": "3.0.1",
  "info": {
    "title": "Stock Earnings Calendar Scraper (Multi-Source)",
    "description": "Scrape earnings dates from multiple sources and compare with Best, All, or Custom modes, plus optional cost checks using TipRanks, Wall Street Numbers, Seeking Alpha, Earnings Whispers, Finviz, TradingView, Nasdaq, MarketWatch, MarketScreener, Google, Investing, Zacks, Benzinga, Yahoo.",
    "version": "0.0",
    "x-build-id": "AkmGb0rFzpWCWeL7x"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/risky_doughnut~stock-earnings-calendar-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-risky_doughnut-stock-earnings-calendar-scraper",
        "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/risky_doughnut~stock-earnings-calendar-scraper/runs": {
      "post": {
        "operationId": "runs-sync-risky_doughnut-stock-earnings-calendar-scraper",
        "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/risky_doughnut~stock-earnings-calendar-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-risky_doughnut-stock-earnings-calendar-scraper",
        "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": {
          "csv": {
            "title": "Upload CSV (optional)",
            "type": "string",
            "description": "Paste CSV content here. One ticker per line. Header optional."
          },
          "datasetId": {
            "title": "Dataset ID (optional)",
            "type": "string",
            "description": "If your backend uploads a CSV to an Apify dataset, enter its datasetId here."
          },
          "tickers": {
            "title": "Manual Tickers (optional)",
            "type": "array",
            "description": "Enter tickers manually if not using CSV or dataset.",
            "items": {
              "type": "string"
            }
          },
          "sourceMode": {
            "title": "Source Mode",
            "enum": [
              "best",
              "all",
              "custom"
            ],
            "type": "string",
            "description": "Best Sources runs the BEST group in this order: Wall Street Numbers, Yahoo Finance, TradingView, Finviz, Seeking Alpha, TipRanks, Nasdaq. All Available Sources runs BEST first, then STANDARD in this order: Earnings Whispers, Benzinga, Google Finance, MarketScreener, Zacks, MarketWatch, Investing.com. Custom Sources lets you choose individual providers below. An untouched/default Run uses a bounded health-check smoke test (core fast sources plus Finviz only when at least 30 seconds remain in the smoke budget); once you provide meaningful run input, the selected production mode is honored normally.",
            "default": "best"
          },
          "includeIncidental": {
            "title": "Include Incidental Calendar Results",
            "type": "boolean",
            "description": "Also return valid earnings dates discovered during calendar scans for tickers that were not explicitly requested.",
            "default": false
          },
          "customWallStreetNumbers": {
            "title": "Wall Street Numbers",
            "type": "boolean",
            "description": "Enable Wall Street Numbers when Source Mode is Custom Sources.",
            "default": false
          },
          "customYahoo": {
            "title": "Yahoo Finance",
            "type": "boolean",
            "description": "Enable Yahoo Finance when Source Mode is Custom Sources.",
            "default": false
          },
          "customTradingView": {
            "title": "TradingView",
            "type": "boolean",
            "description": "Enable TradingView when Source Mode is Custom Sources.",
            "default": false
          },
          "customFinviz": {
            "title": "Finviz",
            "type": "boolean",
            "description": "Enable Finviz when Source Mode is Custom Sources.",
            "default": false
          },
          "customSeekingAlpha": {
            "title": "Seeking Alpha",
            "type": "boolean",
            "description": "Enable Seeking Alpha when Source Mode is Custom Sources.",
            "default": false
          },
          "customTipRanks": {
            "title": "TipRanks",
            "type": "boolean",
            "description": "Enable TipRanks when Source Mode is Custom Sources.",
            "default": false
          },
          "customNasdaq": {
            "title": "Nasdaq",
            "type": "boolean",
            "description": "Enable Nasdaq when Source Mode is Custom Sources.",
            "default": false
          },
          "customEw": {
            "title": "Earnings Whispers",
            "type": "boolean",
            "description": "Enable Earnings Whispers when Source Mode is Custom Sources.",
            "default": false
          },
          "customBenzinga": {
            "title": "Benzinga",
            "type": "boolean",
            "description": "Enable Benzinga when Source Mode is Custom Sources.",
            "default": false
          },
          "customGoogle": {
            "title": "Google Finance",
            "type": "boolean",
            "description": "Enable Google Finance when Source Mode is Custom Sources.",
            "default": false
          },
          "customMarketscreener": {
            "title": "MarketScreener",
            "type": "boolean",
            "description": "Enable MarketScreener when Source Mode is Custom Sources.",
            "default": false
          },
          "customZacks": {
            "title": "Zacks",
            "type": "boolean",
            "description": "Enable Zacks when Source Mode is Custom Sources.",
            "default": false
          },
          "customMarketWatch": {
            "title": "MarketWatch",
            "type": "boolean",
            "description": "Enable MarketWatch when Source Mode is Custom Sources.",
            "default": false
          },
          "customInvesting": {
            "title": "Investing.com",
            "type": "boolean",
            "description": "Enable Investing.com when Source Mode is Custom Sources. This automatically runs both Investing Week 1 and Week 2 workers.",
            "default": false
          },
          "benchmarkMode": {
            "title": "Run Budget / Reliability Benchmark",
            "type": "boolean",
            "description": "OFF = normal earnings scraper run. ON = run the isolated scraper cost and reliability benchmark instead.",
            "default": false
          },
          "benchmarkRuns": {
            "title": "Benchmark Runs Per Scraper",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Number of independent Actor runs for each selected scraper. Three runs are recommended so reliability and cost can be averaged.",
            "default": 3
          },
          "benchmarkWallStreet": {
            "title": "Wall Street Numbers",
            "type": "boolean",
            "description": "Include Wall Street Numbers in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkYahoo": {
            "title": "Yahoo Finance",
            "type": "boolean",
            "description": "Include Yahoo Finance in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkTradingView": {
            "title": "TradingView",
            "type": "boolean",
            "description": "Include TradingView in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkFinviz": {
            "title": "Finviz",
            "type": "boolean",
            "description": "Include Finviz in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkSa": {
            "title": "Seeking Alpha",
            "type": "boolean",
            "description": "Include Seeking Alpha in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkTipRanks": {
            "title": "TipRanks",
            "type": "boolean",
            "description": "Include TipRanks in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkNasdaq": {
            "title": "Nasdaq",
            "type": "boolean",
            "description": "Include Nasdaq in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkEw": {
            "title": "Earnings Whispers",
            "type": "boolean",
            "description": "Include Earnings Whispers in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkBenzinga": {
            "title": "Benzinga",
            "type": "boolean",
            "description": "Include Benzinga in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkGoogle": {
            "title": "Google Finance",
            "type": "boolean",
            "description": "Include Google Finance in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkMarketscreener": {
            "title": "MarketScreener",
            "type": "boolean",
            "description": "Include MarketScreener in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkZacks": {
            "title": "Zacks",
            "type": "boolean",
            "description": "Include Zacks in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkMarketWatch": {
            "title": "MarketWatch",
            "type": "boolean",
            "description": "Include MarketWatch in the budget / reliability benchmark.",
            "default": false
          },
          "benchmarkInvesting": {
            "title": "Investing.com (Week 1 + Week 2)",
            "type": "boolean",
            "description": "Include Investing.com (Week 1 + Week 2) in the budget / reliability benchmark.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}