{
  "openapi": "3.0.1",
  "info": {
    "title": "Stock Analyst Ratings and Price Target Moves from TipRanks Data",
    "description": "Get TipRanks analyst consensus, buy, hold and sell counts, average, high and low price targets and upside for any stock watchlist. Returns every analyst rating, upgrades, downgrades and target moves, top analysts and a scheduled change feed. Filter by upside, sector and market cap. No login.",
    "version": "0.4",
    "x-build-id": "YVP7L9UrS9dUIHewo"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~tipranks-market-intelligence/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-tipranks-market-intelligence",
        "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/getascraper~tipranks-market-intelligence/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-tipranks-market-intelligence",
        "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/getascraper~tipranks-market-intelligence/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-tipranks-market-intelligence",
        "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": {
          "mode": {
            "title": "What to collect",
            "enum": [
              "stocks",
              "analystRatings",
              "ratingChanges",
              "topAnalysts"
            ],
            "type": "string",
            "description": "Choose the result type. Stock overview gives one row per stock. Analyst ratings gives one row per analyst. Rating changes lists recent upgrades, downgrades, new coverage and price target moves. Top analysts lists the best ranked analysts on TipRanks.",
            "default": "stocks"
          },
          "tickers": {
            "title": "Ticker symbols",
            "maxItems": 200,
            "type": "array",
            "description": "Stock symbols to read, one per line, for example AAPL or BRK.B. Up to 200. Not used by the top analysts list.",
            "default": [
              "AAPL",
              "MSFT",
              "TSLA"
            ],
            "items": {
              "type": "string"
            }
          },
          "exchanges": {
            "title": "Exchanges",
            "type": "array",
            "description": "Keep only stocks listed on these exchanges, for example NASDAQ or NYSE. Leave empty for all exchanges.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sectors": {
            "title": "Sectors",
            "type": "array",
            "description": "Keep only stocks whose sector contains one of these words, for example Technology or Healthcare. Leave empty for all sectors.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "consensusRatings": {
            "title": "Analyst consensus",
            "type": "array",
            "description": "Keep only stocks whose overall analyst rating is one of the selected labels. Leave empty to keep every rating.",
            "items": {
              "type": "string",
              "enum": [
                "Strong Buy",
                "Moderate Buy",
                "Hold",
                "Moderate Sell",
                "Strong Sell"
              ],
              "enumTitles": [
                "Strong Buy",
                "Moderate Buy",
                "Hold",
                "Moderate Sell",
                "Strong Sell"
              ]
            },
            "default": []
          },
          "minUpsidePercent": {
            "title": "Minimum upside (%)",
            "minimum": -100,
            "maximum": 10000,
            "type": "number",
            "description": "Keep only stocks where the average analyst price target is at least this many percent above the last price. Use a negative number to allow downside. Leave empty for no limit."
          },
          "minAnalystCount": {
            "title": "Minimum analysts",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Keep only stocks covered by at least this many analysts in the last three months. Leave empty for no limit."
          },
          "minMarketCapMillions": {
            "title": "Minimum market cap (USD millions)",
            "minimum": 0,
            "type": "number",
            "description": "Keep only stocks worth at least this many million US dollars. For example 10000 means 10 billion. Leave empty for no limit."
          },
          "maxMarketCapMillions": {
            "title": "Maximum market cap (USD millions)",
            "minimum": 0,
            "type": "number",
            "description": "Keep only stocks worth at most this many million US dollars. Leave empty for no limit."
          },
          "minSmartScore": {
            "title": "Minimum Smart Score",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Keep only stocks with a TipRanks Smart Score of at least this value, from 1 to 10. Leave empty for no limit."
          },
          "lookbackDays": {
            "title": "Rating window (days)",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Only look at analyst ratings dated within this many days. Also sets the window for the upgrade and downgrade counts on stock overview rows.",
            "default": 30
          },
          "ratingFilter": {
            "title": "Analyst rating",
            "type": "array",
            "description": "Keep only ratings that are Buy, Hold or Sell. Leave empty to keep all ratings.",
            "items": {
              "type": "string",
              "enum": [
                "Buy",
                "Hold",
                "Sell"
              ],
              "enumTitles": [
                "Buy",
                "Hold",
                "Sell"
              ]
            },
            "default": []
          },
          "changeTypes": {
            "title": "Types of change",
            "type": "array",
            "description": "For the rating changes result: which events to include. Reiterated adds analysts who repeated an unchanged rating.",
            "items": {
              "type": "string",
              "enum": [
                "initiated",
                "upgraded",
                "downgraded",
                "targetRaised",
                "targetLowered",
                "reiterated"
              ],
              "enumTitles": [
                "New coverage",
                "Upgrade",
                "Downgrade",
                "Price target raised",
                "Price target lowered",
                "Reiterated rating"
              ]
            },
            "default": [
              "initiated",
              "upgraded",
              "downgraded",
              "targetRaised",
              "targetLowered"
            ]
          },
          "minTargetChangePercent": {
            "title": "Minimum price target move (%)",
            "minimum": 0,
            "maximum": 1000,
            "type": "number",
            "description": "For the rating changes result: ignore price target moves smaller than this many percent. Upgrades and downgrades are always kept. Leave empty for no limit."
          },
          "minAnalystStars": {
            "title": "Minimum analyst stars",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep only ratings from analysts with at least this TipRanks star rating, from 0 to 5. Leave empty for no limit."
          },
          "minAnalystSuccessRate": {
            "title": "Minimum analyst success rate (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep only analysts whose past ratings on that stock made money at least this often. For the top analysts list it uses the overall success rate. Leave empty for no limit."
          },
          "includeAiModels": {
            "title": "Include TipRanks AI analysts",
            "type": "boolean",
            "description": "Also return the ratings from the AI models that TipRanks lists as analysts. Off by default so results show human analysts only.",
            "default": false
          },
          "includeCompanyProfile": {
            "title": "Company profile",
            "type": "boolean",
            "description": "Add the company description, CEO, employee count, website and address to each stock overview row.",
            "default": false
          },
          "includeInsiderActivity": {
            "title": "Insider transactions",
            "type": "boolean",
            "description": "Add the latest insider trades with the SEC filing link and a month by month buy and sell summary.",
            "default": false
          },
          "includeInstitutionalHoldings": {
            "title": "Hedge fund and institutional holdings",
            "type": "boolean",
            "description": "Add the biggest funds that hold the stock, their latest change, and the quarterly net buying or selling of all institutions.",
            "default": false
          },
          "includeNewsSentiment": {
            "title": "News sentiment",
            "type": "boolean",
            "description": "Add the share of bullish and bearish news, how much news there was last week, and a weekly history.",
            "default": false
          },
          "includeRecentNews": {
            "title": "Recent news headlines",
            "type": "boolean",
            "description": "Add the latest news headlines about the stock with their link, source and sentiment.",
            "default": false
          },
          "includeConsensusHistory": {
            "title": "Consensus history",
            "type": "boolean",
            "description": "Add weekly points showing how the buy, hold and sell counts and the average price target moved over time.",
            "default": false
          },
          "includeEarningsHistory": {
            "title": "Earnings history",
            "type": "boolean",
            "description": "Add past and upcoming earnings reports with estimate, actual result and surprise.",
            "default": false
          },
          "includeDividendHistory": {
            "title": "Dividend history",
            "type": "boolean",
            "description": "Add past and upcoming dividends with ex dividend date, pay date and amount.",
            "default": false
          },
          "maxDetailRows": {
            "title": "Rows per extra block",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many entries each extra block returns, for example insider trades, news headlines or history points.",
            "default": 10
          },
          "trackChanges": {
            "title": "Compare with the last run",
            "type": "boolean",
            "description": "Remember what each stock looked like and show what changed since your previous run: consensus, price target, analyst counts and new or changed ratings. Works best on a schedule.",
            "default": true
          },
          "onlyChanges": {
            "title": "Return only what changed",
            "type": "boolean",
            "description": "Return only stocks or ratings that changed since the last run. The first run for a stock still returns everything.",
            "default": false
          },
          "monitorScope": {
            "title": "Watch name",
            "type": "string",
            "description": "A short name for this watchlist. Runs with the same name share history, so use a different name for each separate schedule.",
            "default": "default"
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop after this many result rows. Each row is one stock, one analyst rating or one top analyst.",
            "default": 10
          },
          "maxRatingsPerStock": {
            "title": "Ratings per stock",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "For the analyst ratings and rating changes results: the most ratings returned for each stock, newest first.",
            "default": 10
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "default",
              "upsidePercent",
              "analystCount",
              "marketCap",
              "smartScore",
              "newestRating",
              "targetChange",
              "analystStars",
              "ticker"
            ],
            "type": "string",
            "description": "Order of the results. Default keeps your ticker order for stock overviews and puts the newest rating first for analyst results.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. TipRanks data is public and normal runs need no proxy. If TipRanks ever refuses your requests, the Actor retries through Apify datacenter proxy by itself."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}