{
  "openapi": "3.0.1",
  "info": {
    "title": "Yahoo Finance Scraper - Quotes, History, Options, Financials",
    "description": "Yahoo Finance quotes, price history with dividends and splits, financial statements, key stats, analyst targets, options chains, news and ticker search. Stocks, ETFs, indices, crypto, FX, futures, Saudi and Gulf markets. Status per symbol; failed symbols are free.",
    "version": "0.1",
    "x-build-id": "9leFsD3SLQZjJWMTN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dottti~yahoo-finance-reliable/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dottti-yahoo-finance-reliable",
        "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/dottti~yahoo-finance-reliable/runs": {
      "post": {
        "operationId": "runs-sync-dottti-yahoo-finance-reliable",
        "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/dottti~yahoo-finance-reliable/run-sync": {
      "post": {
        "operationId": "run-sync-dottti-yahoo-finance-reliable",
        "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": {
          "symbols": {
            "title": "Symbols",
            "type": "array",
            "description": "Yahoo Finance symbols or quote page URLs. Examples: AAPL, SPY, ^GSPC (S&P 500), BTC-USD, EURUSD=X, GC=F (gold futures), 2222.SR (Saudi Aramco), EMAAR.AE (Dubai), QNBK.QA (Qatar). Use the search mode to find a symbol.",
            "items": {
              "type": "string"
            }
          },
          "modes": {
            "title": "What to fetch",
            "type": "array",
            "description": "Pick one or more. Each mode adds its own rows. The 'type' field on every row says what it is.",
            "items": {
              "type": "string",
              "enum": [
                "quotes",
                "history",
                "fundamentals",
                "options",
                "news",
                "search",
                "watchlist"
              ],
              "enumTitles": [
                "Quotes (price, change, volume, market cap, P/E, dividend)",
                "Price history (OHLCV, adjusted close, dividends, splits)",
                "Fundamentals (statements, key statistics, earnings, analyst targets)",
                "Options chain",
                "News headlines",
                "Ticker search (uses Search queries)",
                "Watchlist alerts (price moved since last run)"
              ]
            },
            "default": [
              "quotes"
            ]
          },
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "For the search mode. Company names, tickers or keywords, for example 'aramco' or 'gold'.",
            "items": {
              "type": "string"
            }
          },
          "historyRange": {
            "title": "History range",
            "enum": [
              "1d",
              "5d",
              "1mo",
              "3mo",
              "6mo",
              "1y",
              "2y",
              "5y",
              "10y",
              "ytd",
              "max"
            ],
            "type": "string",
            "description": "How far back. Ignored when a start date is set.",
            "default": "1mo"
          },
          "historyInterval": {
            "title": "History interval",
            "enum": [
              "1m",
              "2m",
              "5m",
              "15m",
              "30m",
              "60m",
              "90m",
              "1h",
              "1d",
              "5d",
              "1wk",
              "1mo",
              "3mo"
            ],
            "type": "string",
            "description": "Bar size. Yahoo keeps 1m bars for about 8 days, 2m-90m bars for 60 days, 1h bars for about 2 years. Asking for more returns a clear error for that symbol.",
            "default": "1d"
          },
          "historyStartDate": {
            "title": "Start date (optional)",
            "type": "string",
            "description": "YYYY-MM-DD. Overrides the range."
          },
          "historyEndDate": {
            "title": "End date (optional)",
            "type": "string",
            "description": "YYYY-MM-DD. Defaults to today. Used only with a start date."
          },
          "includeDividendsSplits": {
            "title": "Include dividends and splits",
            "type": "boolean",
            "description": "Adds one row per dividend and per split in the period.",
            "default": true
          },
          "includePrePost": {
            "title": "Include pre- and after-market bars",
            "type": "boolean",
            "description": "Intraday intervals only.",
            "default": false
          },
          "maxBarsPerSymbol": {
            "title": "Max bars per symbol",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no limit. Keeps the most recent bars.",
            "default": 0
          },
          "statements": {
            "title": "Financial statements",
            "type": "array",
            "description": "One row per statement period.",
            "items": {
              "type": "string",
              "enum": [
                "income",
                "balance",
                "cashflow"
              ],
              "enumTitles": [
                "Income statement",
                "Balance sheet",
                "Cash flow"
              ]
            },
            "default": [
              "income",
              "balance",
              "cashflow"
            ]
          },
          "statementFrequencies": {
            "title": "Statement periods",
            "type": "array",
            "description": "Annual, quarterly and trailing twelve months. Balance sheets have no trailing version.",
            "items": {
              "type": "string",
              "enum": [
                "annual",
                "quarterly",
                "trailing"
              ],
              "enumTitles": [
                "Annual",
                "Quarterly",
                "Trailing 12 months"
              ]
            },
            "default": [
              "annual",
              "quarterly",
              "trailing"
            ]
          },
          "includeKeyStatistics": {
            "title": "Key statistics",
            "type": "boolean",
            "description": "Valuation, margins, growth, debt, short interest, dividend dates.",
            "default": true
          },
          "includeAnalyst": {
            "title": "Analyst targets and recommendations",
            "type": "boolean",
            "description": "Price targets, consensus, and the buy/hold/sell counts for the last 4 months.",
            "default": true
          },
          "includeEarnings": {
            "title": "Earnings dates and history",
            "type": "boolean",
            "description": "Next earnings date with estimates, and the last 4 quarters of EPS actual versus estimate.",
            "default": true
          },
          "maxRatingChanges": {
            "title": "Recent analyst rating changes",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "0 = off. Number of most recent upgrades and downgrades per symbol.",
            "default": 0
          },
          "optionsExpirations": {
            "title": "Option expirations per symbol",
            "minimum": 0,
            "type": "integer",
            "description": "How many upcoming expiry dates to fetch, nearest first. 0 = all expirations. Each expiry is one request and often 50-300 contracts.",
            "default": 1
          },
          "optionsDates": {
            "title": "Specific expiry dates (optional)",
            "type": "array",
            "description": "YYYY-MM-DD. Overrides the count above.",
            "items": {
              "type": "string"
            }
          },
          "optionsType": {
            "title": "Calls, puts or both",
            "enum": [
              "both",
              "calls",
              "puts"
            ],
            "type": "string",
            "description": "Which side of the chain.",
            "default": "both"
          },
          "maxOptionContractsPerSymbol": {
            "title": "Max option contracts per symbol",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no limit. Caps cost on large chains such as SPY.",
            "default": 0
          },
          "newsPerSymbol": {
            "title": "Headlines per symbol",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Up to 100.",
            "default": 10
          },
          "searchResultsPerQuery": {
            "title": "Search results per query",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "Up to 25.",
            "default": 10
          },
          "watchlistThresholdPercent": {
            "title": "Alert when price moved more than (%)",
            "minimum": 0,
            "type": "number",
            "description": "Compared with the price saved at the last alert for this symbol.",
            "default": 2
          },
          "watchlistOnlyChanged": {
            "title": "Only output symbols that moved",
            "type": "boolean",
            "description": "On: only alerts are output (and charged). The first run outputs every symbol as a baseline.",
            "default": true
          },
          "watchlistName": {
            "title": "Watchlist name",
            "type": "string",
            "description": "Separate names keep separate saved prices, for example 'gulf-banks'.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy (optional)",
            "type": "object",
            "description": "Leave off to use the automatic fallback below. If you set a proxy here, it is used for every request and the fallback is off."
          },
          "autoProxyFallback": {
            "title": "Automatic proxy fallback",
            "type": "boolean",
            "description": "Starts without a proxy. If Yahoo keeps answering 429 or 403, switches to Apify datacenter proxy, then residential.",
            "default": true
          },
          "allowResidentialFallback": {
            "title": "Allow residential proxy as the last step",
            "type": "boolean",
            "description": "Turn off to never use residential proxy.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Symbols in parallel",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Requests are still spaced out. Higher is faster and more likely to be rate-limited.",
            "default": 3
          },
          "maxRetries": {
            "title": "Retries per request",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Retries with growing waits and fresh sessions before a symbol is marked blocked.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}