{
  "service": "nasdaq",
  "displayName": "Nasdaq Data Link",
  "categories": [
    "Finance",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "Your Nasdaq Data Link API key",
      "description": "Nasdaq Data Link API key sent with the api_key query parameter and X-Api-Token header. Find it in your Account Settings: https://help.data.nasdaq.com/article/937-where-can-i-find-my-api-key."
    }
  ],
  "homepageUrl": "https://data.nasdaq.com",
  "actions": [
    {
      "id": "nasdaq.get_analyst_ratings",
      "service": "nasdaq",
      "name": "get_analyst_ratings",
      "description": "Retrieve analyst recommendation and target-price history for a stock symbol from the ZACKS analyst datatables.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "minLength": 1,
            "description": "The stock ticker symbol, such as AAPL."
          }
        },
        "additionalProperties": false,
        "required": [
          "symbol"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "analystRatings": {
            "type": "object",
            "properties": {
              "columns": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The name of the datatable column."
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The data type of the datatable column."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "name",
                    "type"
                  ],
                  "description": "A datatable column definition."
                },
                "description": "The column definitions returned by Nasdaq."
              },
              "rows": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "A string value."
                      },
                      {
                        "type": "number",
                        "description": "A numeric value."
                      },
                      {
                        "type": "boolean",
                        "description": "A boolean value."
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "A scalar value returned by the datatable."
                  },
                  "description": "A datatable row mapped into a key-value object."
                },
                "description": "The row objects returned for the datatable query."
              },
              "nextCursorId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor ID to request the next page of datatable rows."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "columns",
              "rows",
              "nextCursorId"
            ],
            "description": "A normalized Nasdaq datatable query result."
          },
          "targetPrices": {
            "type": "object",
            "properties": {
              "columns": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The name of the datatable column."
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The data type of the datatable column."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "name",
                    "type"
                  ],
                  "description": "A datatable column definition."
                },
                "description": "The column definitions returned by Nasdaq."
              },
              "rows": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "A string value."
                      },
                      {
                        "type": "number",
                        "description": "A numeric value."
                      },
                      {
                        "type": "boolean",
                        "description": "A boolean value."
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "A scalar value returned by the datatable."
                  },
                  "description": "A datatable row mapped into a key-value object."
                },
                "description": "The row objects returned for the datatable query."
              },
              "nextCursorId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor ID to request the next page of datatable rows."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "columns",
              "rows",
              "nextCursorId"
            ],
            "description": "A normalized Nasdaq datatable query result."
          }
        },
        "additionalProperties": false,
        "required": [
          "analystRatings",
          "targetPrices"
        ],
        "description": "The analyst ratings and target-price result."
      }
    },
    {
      "id": "nasdaq.get_datatable",
      "service": "nasdaq",
      "name": "get_datatable",
      "description": "Request a bulk export for a Nasdaq Data Link datatable and return the current file status plus download link when available.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "datatableCode": {
            "type": "string",
            "minLength": 1,
            "description": "The datatable code in VENDOR/TABLE format, such as SHARADAR/SF1."
          }
        },
        "additionalProperties": false,
        "required": [
          "datatableCode"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "link": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The temporary download URL for the zipped bulk export file."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "minLength": 1,
                "description": "The current generation status of the bulk export file."
              },
              "dataSnapshotTime": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The snapshot timestamp associated with the generated export."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "link",
              "status",
              "dataSnapshotTime"
            ],
            "description": "The bulk export file information."
          },
          "datatable": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "lastRefreshedTime": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The last refresh timestamp reported for the datatable."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false,
                "required": [
                  "lastRefreshedTime"
                ],
                "description": "The datatable refresh metadata for the export."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "file",
          "datatable"
        ],
        "description": "The Nasdaq bulk export request result."
      }
    },
    {
      "id": "nasdaq.get_datatable_metadata",
      "service": "nasdaq",
      "name": "get_datatable_metadata",
      "description": "Retrieve schema, filter, refresh, and premium metadata for a Nasdaq Data Link datatable.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "datatableCode": {
            "type": "string",
            "minLength": 1,
            "description": "The datatable code in VENDOR/TABLE format, such as SHARADAR/SF1."
          }
        },
        "additionalProperties": false,
        "required": [
          "datatableCode"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "vendorCode": {
            "type": "string",
            "minLength": 1,
            "description": "The vendor code portion of the datatable identifier."
          },
          "datatableCode": {
            "type": "string",
            "minLength": 1,
            "description": "The Nasdaq table code portion of the datatable identifier."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The human-readable datatable name."
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "description": "The datatable description when Nasdaq provides it."
              },
              {
                "type": "null"
              }
            ]
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The name of the datatable column."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The data type of the datatable column."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "type"
              ],
              "description": "A datatable column definition."
            },
            "description": "The available datatable columns."
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The filterable column names for the datatable."
          },
          "primaryKey": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The primary-key columns for the datatable."
          },
          "premium": {
            "type": "boolean",
            "description": "Whether the datatable requires premium access."
          },
          "status": {
            "type": "object",
            "properties": {
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The current refresh status for the datatable when Nasdaq provides it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expectedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The expected time of the next refresh when Nasdaq provides it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "refreshedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The timestamp when the datatable was last refreshed."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "updateFrequency": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The update cadence reported by Nasdaq for the datatable."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "status",
              "expectedAt",
              "refreshedAt",
              "updateFrequency"
            ],
            "description": "Refresh status information for the datatable."
          },
          "dataVersion": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The Nasdaq data-version code for the datatable."
                  },
                  "default": {
                    "type": "boolean",
                    "description": "Whether this data version is the default version."
                  },
                  "description": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The description of the data version when Nasdaq provides it."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false,
                "required": [
                  "code",
                  "default",
                  "description"
                ],
                "description": "The Nasdaq data-version metadata."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "vendorCode",
          "datatableCode",
          "name",
          "description",
          "columns",
          "filters",
          "primaryKey",
          "premium",
          "status",
          "dataVersion"
        ],
        "description": "Normalized metadata for a Nasdaq datatable."
      }
    },
    {
      "id": "nasdaq.get_dividend_history",
      "service": "nasdaq",
      "name": "get_dividend_history",
      "description": "Retrieve quarterly dividend fundamentals for a ticker from SHARADAR/SF1 using the ARQ dimension.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "description": "The stock ticker symbol, such as AAPL."
          },
          "date": {
            "type": "string",
            "minLength": 1,
            "description": "An optional datekey filter in YYYY-MM-DD format applied to the SF1 table."
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A column name to include in the response."
            },
            "description": "The selected columns to include in the datatable response."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of rows to request per page."
          },
          "cursorId": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor ID used to fetch the next page."
          }
        },
        "additionalProperties": false,
        "required": [
          "ticker"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The name of the datatable column."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The data type of the datatable column."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "type"
              ],
              "description": "A datatable column definition."
            },
            "description": "The column definitions returned by Nasdaq."
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "A string value."
                  },
                  {
                    "type": "number",
                    "description": "A numeric value."
                  },
                  {
                    "type": "boolean",
                    "description": "A boolean value."
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "A scalar value returned by the datatable."
              },
              "description": "A datatable row mapped into a key-value object."
            },
            "description": "The row objects returned for the datatable query."
          },
          "nextCursorId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID to request the next page of datatable rows."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "columns",
          "rows",
          "nextCursorId"
        ],
        "description": "A normalized Nasdaq datatable query result."
      }
    },
    {
      "id": "nasdaq.get_end_of_day_quote",
      "service": "nasdaq",
      "name": "get_end_of_day_quote",
      "description": "Retrieve QuoteMedia end-of-day price rows for a ticker, optionally filtered by a date range.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "description": "The stock ticker symbol, such as AAPL."
          },
          "dateGte": {
            "type": "string",
            "minLength": 1,
            "description": "The inclusive lower-bound date filter in YYYY-MM-DD format."
          },
          "dateLte": {
            "type": "string",
            "minLength": 1,
            "description": "The inclusive upper-bound date filter in YYYY-MM-DD format."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of rows to request per page."
          },
          "cursorId": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor ID used to fetch the next page."
          }
        },
        "additionalProperties": false,
        "required": [
          "ticker"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "quotes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The ticker symbol."
                },
                "date": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The trading date in YYYY-MM-DD format."
                },
                "open": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The opening price for the trading day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "high": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The highest price for the trading day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "low": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The lowest price for the trading day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "close": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The closing price for the trading day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "volume": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The total trading volume for the day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "dividend": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The dividend amount for the day, if any."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "split": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The split ratio for the day, if any."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "ticker",
                "date",
                "open",
                "high",
                "low",
                "close",
                "volume",
                "dividend",
                "split"
              ],
              "description": "A normalized QuoteMedia end-of-day price record."
            },
            "description": "The returned quote rows."
          },
          "nextCursorId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID to request the next page of quote rows."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "quotes",
          "nextCursorId"
        ],
        "description": "The end-of-day quote response."
      }
    },
    {
      "id": "nasdaq.get_real_time_quote",
      "service": "nasdaq",
      "name": "get_real_time_quote",
      "description": "Compatibility alias of get_end_of_day_quote. Returns QuoteMedia end-of-day price rows rather than live real-time quotes.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "description": "The stock ticker symbol, such as AAPL."
          },
          "dateGte": {
            "type": "string",
            "minLength": 1,
            "description": "The inclusive lower-bound date filter in YYYY-MM-DD format."
          },
          "dateLte": {
            "type": "string",
            "minLength": 1,
            "description": "The inclusive upper-bound date filter in YYYY-MM-DD format."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of rows to request per page."
          },
          "cursorId": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor ID used to fetch the next page."
          }
        },
        "additionalProperties": false,
        "required": [
          "ticker"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "quotes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The ticker symbol."
                },
                "date": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The trading date in YYYY-MM-DD format."
                },
                "open": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The opening price for the trading day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "high": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The highest price for the trading day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "low": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The lowest price for the trading day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "close": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The closing price for the trading day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "volume": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The total trading volume for the day."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "dividend": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The dividend amount for the day, if any."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "split": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The split ratio for the day, if any."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "ticker",
                "date",
                "open",
                "high",
                "low",
                "close",
                "volume",
                "dividend",
                "split"
              ],
              "description": "A normalized QuoteMedia end-of-day price record."
            },
            "description": "The returned quote rows."
          },
          "nextCursorId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID to request the next page of quote rows."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "quotes",
          "nextCursorId"
        ],
        "description": "The end-of-day quote response."
      }
    },
    {
      "id": "nasdaq.get_table_row",
      "service": "nasdaq",
      "name": "get_table_row",
      "description": "Query a Nasdaq Data Link datatable with a single filter column and normalize the returned rows into key-value objects.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "datatableCode": {
            "type": "string",
            "minLength": 1,
            "description": "The full datatable code in VENDOR/TABLE format. Use this or vendorCode + tableCode."
          },
          "vendorCode": {
            "type": "string",
            "minLength": 1,
            "description": "The vendor code when the datatable is provided as separate vendor and table codes."
          },
          "tableCode": {
            "type": "string",
            "minLength": 1,
            "description": "The table code when the datatable is provided as separate vendor and table codes."
          },
          "filterColumnName": {
            "type": "string",
            "minLength": 1,
            "description": "The column name used as the datatable filter."
          },
          "filterColumnValue": {
            "type": "string",
            "minLength": 1,
            "description": "The value used for the datatable filter."
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A column name to include in the response."
            },
            "description": "The selected columns to include in the datatable response."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of rows to request per page."
          },
          "cursorId": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor ID used to fetch the next page."
          }
        },
        "additionalProperties": false,
        "required": [
          "filterColumnName",
          "filterColumnValue"
        ],
        "description": "The input payload for this action.",
        "anyOf": [
          {
            "required": [
              "datatableCode"
            ]
          },
          {
            "required": [
              "vendorCode",
              "tableCode"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The name of the datatable column."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The data type of the datatable column."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "type"
              ],
              "description": "A datatable column definition."
            },
            "description": "The column definitions returned by Nasdaq."
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "A string value."
                  },
                  {
                    "type": "number",
                    "description": "A numeric value."
                  },
                  {
                    "type": "boolean",
                    "description": "A boolean value."
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "A scalar value returned by the datatable."
              },
              "description": "A datatable row mapped into a key-value object."
            },
            "description": "The row objects returned for the datatable query."
          },
          "nextCursorId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID to request the next page of datatable rows."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "columns",
          "rows",
          "nextCursorId"
        ],
        "description": "A normalized Nasdaq datatable query result."
      }
    }
  ]
}
