{
  "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": "w8FjmvWMrRe5xMHKC"
  },
  "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"
            ],
            "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.",
            "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`)."
          },
          "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. 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.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}