Quote, history, and screener calls all expect a ticker you already know. Search is the step before those calls. You send a company name or a fragment of a symbol, and the response is a short list of matching instruments, each with an exchange and a type. The symbol on the row you keep is what news, quotes, and the other market routes accept.
👉 To access this endpoint, you must obtain an API key: https://steadyapi.com/register
Authentication
Every call uses a Bearer token from your SteadyAPI dashboard.
Documentation:
https://docs.steadyapi.com/#authenticating-requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
Where this fits
This is the first market call when the user typed a name. Pass the chosen symbol to GET /v1/markets/news as ticker, or to GET /v1/markets/quote. There is no earlier market endpoint in that chain. A short fragment such as mu is enough. You do not look up an exchange id first.
Search tickers
Endpoint: GET /v1/markets/search
Documentation:
https://docs.steadyapi.com/#stocks-options-GETapi-v1-markets-search
Parameters
search— required search term, max 255 characters (example:mu)
search is the only parameter, so the string you send is the whole query. A company name and a partial symbol hit the same list. There is no exchange filter, type filter, or page parameter. If the list is long, pick the row whose typeDisp and exchDisp match the instrument you wanted.
Python
import requests
url = "https://api.steadyapi.com/v1/markets/search"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, headers=headers, params={"search": "micron"})
response.raise_for_status()
matches = response.json().get("body", [])
for item in matches[:5]:
print(item.get("symbol"), item.get("name"), item.get("exchDisp"), item.get("typeDisp"))
Annotated sample
{
"symbol": "MU",
"name": "Micron Technology, Inc.",
"exch": "NAS",
"exchDisp": "NASDAQ",
"type": "S",
"typeDisp": "Equity"
}
Store symbol. That is the ticker for the next call. name is what you show a person. exchDisp and typeDisp are the readable labels. exch and type are the short codes behind those labels. You can ignore them unless you are grouping rows yourself.
meta.symbol echoes the search term you sent, which may differ from the symbol on a result. A search for mu can return MU and also MULN.
Practical use
Read the first few rows before you take matches[0]. A fragment often matches several equities. Prefer the row whose name is the company you meant and whose typeDisp is Equity when you wanted the common stock.
The list is one page. If the name is ambiguous, send a longer search string rather than inventing a cursor. The term is capped at 255 characters.
After you store symbol, news and quote calls use that value. They do not accept the company name from name.
👉 Get your API key and search tickers: https://steadyapi.com/register