Loading...
Loading...
Access US stock market data including price bars, news with sentiment, and company details via eng0 data API. Use when user asks for stock prices, OHLCV data, price history, stock news, or company information. Triggers include "stock price", "price history", "OHLCV", "stock news", "company info", "market data", "ticker data". Do NOT use for SEC filings (use sec-edgar-skill instead).
npx skill4agent add eng0ai/eng0-template-skills market-datahttps://api.eng0.ai/api/data| Endpoint | Purpose |
|---|---|
| OHLCV price bars (1min to 1week intervals) |
| News articles with sentiment analysis |
| Company information and market cap |
| API schema discovery |
curl -X POST https://api.eng0.ai/api/data/stocks/bars \
-H "Content-Type: application/json" \
-d '{
"ticker": "AAPL",
"interval": "1day",
"from": "2024-12-01",
"to": "2024-12-31"
}'| Name | Type | Required | Description |
|---|---|---|---|
| string | Yes | Stock symbol (e.g., |
| string | Yes | |
| date | Yes | Start date ( |
| date | Yes | End date ( |
{
"ticker": "AAPL",
"count": 21,
"bars": [
{
"t": "2024-12-02T05:00:00.000Z",
"o": 237.27,
"h": 240.79,
"l": 237.16,
"c": 239.59,
"v": 48137103,
"vw": 239.4992,
"n": 469685
}
]
}| Field | Description |
|---|---|
| Timestamp (ISO 8601 UTC) |
| Open price |
| High price |
| Low price |
| Close price |
| Volume |
| Volume-weighted average price |
| Number of transactions |
curl -X POST https://api.eng0.ai/api/data/stocks/news \
-H "Content-Type: application/json" \
-d '{
"ticker": "TSLA",
"limit": 5
}'| Name | Type | Required | Description |
|---|---|---|---|
| string | Yes | Stock symbol |
| number | No | Max articles (default: 10, max: 100) |
{
"count": 5,
"articles": [
{
"title": "Tesla Stock Rises on Strong Delivery Numbers",
"description": "Tesla reported better-than-expected Q4 deliveries...",
"author": "John Smith",
"publisher": "Reuters",
"publishedAt": "2025-01-06T14:30:00Z",
"url": "https://...",
"tickers": ["TSLA"],
"keywords": ["electric vehicles", "deliveries"],
"sentiment": "positive",
"sentimentReasoning": "Article discusses strong delivery numbers and positive market reaction."
}
]
}positivenegativeneutralcurl -X POST https://api.eng0.ai/api/data/stocks/details \
-H "Content-Type: application/json" \
-d '{"ticker": "AAPL"}'| Name | Type | Required | Description |
|---|---|---|---|
| string | Yes | Stock symbol |
{
"ticker": "AAPL",
"name": "Apple Inc.",
"description": "Apple Inc. designs, manufactures, and markets smartphones...",
"market": "stocks",
"primaryExchange": "XNAS",
"type": "CS",
"currencyName": "usd",
"marketCap": 3949128102780,
"listDate": "1980-12-12",
"sicDescription": "ELECTRONIC COMPUTERS",
"homepage": "https://www.apple.com",
"totalEmployees": 164000
}curl -X POST https://api.eng0.ai/api/data/stocks/bars \
-H "Content-Type: application/json" \
-d '{
"ticker": "NVDA",
"interval": "1day",
"from": "2024-12-07",
"to": "2025-01-07"
}'curl -X POST https://api.eng0.ai/api/data/stocks/bars \
-H "Content-Type: application/json" \
-d '{
"ticker": "AAPL",
"interval": "1min",
"from": "2025-01-06",
"to": "2025-01-06"
}'curl -X POST https://api.eng0.ai/api/data/stocks/bars \
-H "Content-Type: application/json" \
-d '{
"ticker": "MSFT",
"interval": "1week",
"from": "2024-01-01",
"to": "2025-01-01"
}'curl -X POST https://api.eng0.ai/api/data/stocks/news \
-H "Content-Type: application/json" \
-d '{
"ticker": "GOOGL",
"limit": 20
}'import requests
BASE_URL = "https://api.eng0.ai/api/data"
def get_price_bars(ticker: str, interval: str, from_date: str, to_date: str):
"""Get OHLCV price bars for a stock."""
response = requests.post(
f"{BASE_URL}/stocks/bars",
json={
"ticker": ticker,
"interval": interval,
"from": from_date,
"to": to_date
}
)
return response.json()
def get_news(ticker: str, limit: int = 10):
"""Get news articles with sentiment for a stock."""
response = requests.post(
f"{BASE_URL}/stocks/news",
json={"ticker": ticker, "limit": limit}
)
return response.json()
def get_company_details(ticker: str):
"""Get company information."""
response = requests.post(
f"{BASE_URL}/stocks/details",
json={"ticker": ticker}
)
return response.json()
# Examples
bars = get_price_bars("AAPL", "1day", "2024-12-01", "2024-12-31")
print(f"Got {bars['count']} bars for {bars['ticker']}")
news = get_news("TSLA", limit=5)
for article in news['articles']:
print(f"[{article['sentiment']}] {article['title']}")
details = get_company_details("NVDA")
print(f"{details['name']}: Market Cap ${details['marketCap']:,}"){
"error": "Invalid parameters",
"message": "Missing required parameter: ticker"
}{
"error": "Unknown operation",
"message": "Operation 'invalid' not found. Available: bars, news, details"
}AAPLaapl