{
  "openapi": "3.0.1",
  "info": {
    "title": "Yahoo Finance Scraper — Stock Price & History API | $0.50/1k",
    "description": "Stock market data from Yahoo Finance without an API key: quotes with price, change, market cap, P/E, EPS and dividend yield; daily, weekly or intraday OHLCV history with adjusted close, dividends and splits; sector, industry, employees and 50+ ratios. Stocks, ETFs, indices, crypto, FX.",
    "version": "0.1",
    "x-build-id": "CMDqRT3d3Cigegvrc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/glasswing~yahoo-finance-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-glasswing-yahoo-finance-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/glasswing~yahoo-finance-scraper/runs": {
      "post": {
        "operationId": "runs-sync-glasswing-yahoo-finance-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/glasswing~yahoo-finance-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-glasswing-yahoo-finance-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": {
          "dataType": {
            "title": "Data type",
            "enum": [
              "quotes",
              "history",
              "fundamentals",
              "financials"
            ],
            "type": "string",
            "description": "`quotes` = one snapshot row per symbol: price, change, day range, volume, market cap, 52-week range, P/E, EPS, dividend yield, market state. `history` = one row per symbol per bar: date, open, high, low, close, adjusted close, volume, plus dividends and splits. `fundamentals` = one row per symbol: sector, industry, employees, website, country and about 50 valuation, profitability, balance-sheet and analyst figures. `financials` = premium rows, billed as the `fundamentals` event: one row per income statement, balance sheet and cash flow statement per fiscal year and quarter, plus key statistics, analyst price targets, the recommendation trend, earnings and revenue estimates, and an options chain summary per expiration (about 40 rows per company with every section on).",
            "default": "quotes"
          },
          "symbols": {
            "title": "Ticker symbols",
            "uniqueItems": true,
            "type": "array",
            "description": "Yahoo Finance tickers, one per line: stocks `AAPL`, `BRK-B`, ETFs `SPY`, indices `^GSPC`, `^DJI`, crypto `BTC-USD`, currencies `EURUSD=X`, futures `GC=F`, and listings outside the US with their exchange suffix: `SAP.DE`, `VOD.L`, `7203.T`, `SHOP.TO`. Case does not matter. A line that is not a ticker (a company name) is looked up by name. A ticker Yahoo does not know gives one free `not_found` row.",
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "Company or fund names",
            "uniqueItems": true,
            "type": "array",
            "description": "Names to turn into tickers first, one per line: `Tesla`, `Coca-Cola`, `Vanguard S&P 500`, `Toyota`. Each name is looked up with Yahoo's symbol search and the best match is fetched with the data type above. A name with no match gives one free `not_found` row.",
            "items": {
              "type": "string"
            }
          },
          "searchResultsPerTerm": {
            "title": "Matches per name",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many tickers to take for each name, best match first. `1` takes the primary listing (Tesla -> TSLA); raise it to also get other listings, share classes or futures on the same company.",
            "default": 1
          },
          "historyRange": {
            "title": "Period (history)",
            "enum": [
              "1d",
              "5d",
              "1mo",
              "3mo",
              "6mo",
              "ytd",
              "1y",
              "2y",
              "5y",
              "10y",
              "max"
            ],
            "type": "string",
            "description": "How far back to go when no dates are given. Ignored when a start or end date is set.",
            "default": "1mo"
          },
          "historyInterval": {
            "title": "Bar size (history)",
            "enum": [
              "1m",
              "2m",
              "5m",
              "15m",
              "30m",
              "60m",
              "90m",
              "1h",
              "1d",
              "5d",
              "1wk",
              "1mo",
              "3mo"
            ],
            "type": "string",
            "description": "Size of one bar. Yahoo serves 1-minute bars only for about the last 7 days, 2 to 90-minute bars for the last 60 days and hourly bars for 2 years; a longer period is narrowed automatically and the log says so.",
            "default": "1d"
          },
          "startDate": {
            "title": "Start date (history)",
            "type": "string",
            "description": "First day to include, `YYYY-MM-DD`. With no end date, bars run up to today. Overrides the period above."
          },
          "endDate": {
            "title": "End date (history)",
            "type": "string",
            "description": "Last day to include, `YYYY-MM-DD`. With no start date, all history up to this day (newest first, cut by `Maximum results`)."
          },
          "financialSections": {
            "title": "Sections (financials)",
            "uniqueItems": true,
            "type": "array",
            "description": "Which parts to return for every symbol. `incomeStatement`, `balanceSheet`, `cashFlow` = one row per fiscal period with every line item Yahoo reports. `keyStatistics` = one row of valuation, share, short-interest, dividend and margin figures. `analyst` = the price target row, one recommendation-trend row per month (this month and the three before) and one earnings/revenue estimate row per period (this and next quarter, this and next year). `options` = one options summary row per expiration. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "incomeStatement",
                "balanceSheet",
                "cashFlow",
                "keyStatistics",
                "analyst",
                "options"
              ],
              "enumTitles": [
                "Income statement",
                "Balance sheet",
                "Cash flow statement",
                "Key statistics",
                "Analyst price targets, ratings and estimates",
                "Options chain summary"
              ]
            },
            "default": [
              "incomeStatement",
              "balanceSheet",
              "cashFlow",
              "keyStatistics",
              "analyst",
              "options"
            ]
          },
          "statementPeriods": {
            "title": "Statement periods (financials)",
            "uniqueItems": true,
            "type": "array",
            "description": "Which fiscal periods the three statements cover: `annual` (the last 4 fiscal years), `quarterly` (the last 4-5 quarters), `trailing` (trailing twelve months; income statement and cash flow only). Leave empty for annual and quarterly.",
            "items": {
              "type": "string",
              "enum": [
                "annual",
                "quarterly",
                "trailing"
              ],
              "enumTitles": [
                "Annual",
                "Quarterly",
                "Trailing twelve months"
              ]
            },
            "default": [
              "annual",
              "quarterly"
            ]
          },
          "optionExpirations": {
            "title": "Option expirations (financials)",
            "minimum": 1,
            "maximum": 24,
            "type": "integer",
            "description": "How many option expirations to summarise per symbol, nearest first. Each is one row: call and put volume and open interest, put/call ratios, the at-the-money strike with its implied volatility and prices, the implied move, the max-pain strike and the strikes with the most open interest. Symbols without listed options give one free `not_found` row.",
            "default": 1
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many rows have been saved. Each saved row with status `ok` is one billable result: one quote, one history bar or one fundamentals record (`result` event), or one financials row (`fundamentals` event). For history, raise it to the number of bars you want (about 21 per symbol per month of daily bars). The default of 20 keeps a first run cheap. For financials, a company with every section on is about 40 rows: raise it to about 40 per symbol.",
            "default": 20
          },
          "startUrls": {
            "title": "Yahoo Finance URLs (advanced)",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional. finance.yahoo.com quote pages (`https://finance.yahoo.com/quote/AAPL/`, also `/history/` and other tabs) or query1/query2.finance.yahoo.com API URLs. The symbols in them are fetched with the data type above, together with Ticker symbols and names. When this list holds only its built-in example and you gave symbols or names, the example is skipped.",
            "default": [
              "https://finance.yahoo.com/quote/AAPL/",
              "https://finance.yahoo.com/quote/MSFT/",
              "https://finance.yahoo.com/quote/NVDA/",
              "https://finance.yahoo.com/quote/BTC-USD/",
              "https://finance.yahoo.com/quote/%5EGSPC/",
              "https://finance.yahoo.com/quote/EURUSD%3DX/"
            ],
            "items": {
              "type": "string"
            }
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional and off by default: Yahoo Finance answers Apify's datacenter IPs directly (measured 2026-09-28). If you ever see HTTP 429 in `error` rows, enable Apify Proxy with the datacenter group so the run gets its own address. Residential proxies are not needed.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}