A crypto profile is the identity record for one coin: slug, name, symbol, category, a markdown description, and the official links. You ask with a slug such as bitcoin. The response is one object in body, not a list.
👉 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 crypto call when you know the slug. Keep body.key and pass that same slug to GET /v1/crypto/quotes. Quotes come back under data, not body, so do not reuse the profile parser on that next response.
Look up a crypto profile
Endpoint: GET /v1/crypto/profile
Documentation:
https://docs.steadyapi.com/#crypto-GETapi-v1-crypto-profile
Parameters
key— required coin slug (example:bitcoin)
key is the only parameter. meta.key echoes the string you sent. The slug you should store is body.key, which is lowercase. A display name such as Bitcoin is body.name, not the lookup key. There is no symbol search and no page.
Python
import requests
url = "https://api.steadyapi.com/v1/crypto/profile"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, headers=headers, params={"key": "bitcoin"})
response.raise_for_status()
profile = response.json().get("body") or {}
print(profile.get("key"), profile.get("symbol"), profile.get("status"))
print((profile.get("urls") or {}).get("website"))
Annotated sample
{
"key": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC",
"category": "coin",
"dateAdded": "2010-07-13T00:00:00.000Z",
"status": "active",
"urls": {
"website": ["https://bitcoin.org/"],
"technical_doc": ["https://bitcoin.org/bitcoin.pdf"]
}
}
Store key for the next call and symbol for the label you show. category in this sample is the lowercase word coin. description is markdown, including headings and links, so render it or strip it before you put it in a plain-text field. Each entry under urls is a list. website can contain one URL. chat can be an empty list.
Practical use
Send the slug, not the ticker. BTC is body.symbol after a successful lookup. The request key that matches this sample is bitcoin.
status is a string such as active. Do not treat a missing profile as an empty object you can index. When the slug does not resolve, the call does not return this body.
dateAdded is an ISO timestamp. The date portion in the sample is 2010-07-13. It is not a price date, and this endpoint does not return a quote.
👉 Get your API key and look up a profile: https://steadyapi.com/register