Install
$ agentstack add skill-arraysdata-arrays-skills-arrays-data-api-equity-events Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Reads credentials/environment and may exfiltrate them.
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Arrays Data API — Equity Events
Domain: equity_events. Dividends, stock splits, earnings calendar, earnings transcripts, SEC earnings releases, IPO calendar, mergers & acquisitions, equity offering, and crowdfunding.
Base URL and auth
- Base:
ARRAYS_API_BASE_URLenv var (defaulthttps://data-tools.prd.space.id) - Auth: Send
X-API-Key:header on every request. Read the key from envARRAYS_API_KEYor.envfile.
Response format
All endpoints return a unified envelope with a data array:
{ "success": true, "request_id": "...", "data": [ ... ] }
Access in Python: body["data"]
Important notes
- Use wide time windows: When querying dividends or splits for a specific date, ALWAYS use a broad time range (at least +/- 90 days around the target date). A 1-day or even 7-day window will often return ZERO results because the API's internal timestamps don't align exactly with the event date. Always query a wide window and filter results client-side by matching the
datefield. - Dividend date types: The
datefield is the ex-dividend date.record_dateis the record date.payment_dateis the payment date. These can differ by weeks (e.g., ex-date Mar 5 vs payment date Mar 27). When a user asks about a dividend "on" a specific date, check ALL date fields (date,record_date,payment_date) against that date since the user might be referring to any of them. - Timestamp computation: Always use Python
datetime+calendarto compute Unix timestamps.
import calendar
from datetime import datetime, timezone
ts = int(calendar.timegm(datetime(2025, 8, 13, 0, 0, 0, tzinfo=timezone.utc).timetuple()))
Path prefix and endpoints
- Prefix:
/api/v1/stocks/ - Paths (all GET):
dividends— dividend calendar (PIT)splits— stock splits (PIT)earnings-calendar— recent/upcoming earnings release dates, no historical dataearnings-transcript— earnings call transcript (full text, by speaker and section)sec-earnings-release— SEC earnings release publication date and filing URLipo-calendar— IPO calendaripo-confirmed-calendar— confirmed IPO calendarmergers-acquisitions— M&A events
equity-offering— equity/fundraising offeringscrowdfunding/offerings— crowdfunding offerings
Endpoints
| Method | Path | File | Description | |--------|------|------|-------------| | GET | dividends | dividends | Dividends | | GET | splits | splits | Splits | | GET | earnings-calendar | earnings-calendar | Earnings Calendar | | GET | earnings-transcript | earnings-transcript | Earnings Transcript | | GET | sec-earnings-release | sec-earnings-release | Sec Earnings Release | | GET | ipo-calendar | ipo-calendar | Ipo Calendar | | GET | ipo-confirmed-calendar | ipo-confirmed-calendar | Ipo Confirmed Calendar | | GET | mergers-acquisitions | mergers-acquisitions | Mergers Acquisitions |
| GET | equity-offering | equity-offering | Equity Offering | | GET | crowdfunding/offerings | crowdfunding-offerings | Crowdfunding — Offerings |
> For detailed parameters, response fields, and examples for a specific endpoint, read references/.md in this skill directory.
Python examples
import requests, os
base = os.environ["ARRAYS_API_BASE_URL"]
key = os.environ["ARRAYS_API_KEY"]
# Dividends — use body["data"]
resp = requests.get(f"{base}/api/v1/stocks/dividends",
params={"symbol": "AAPL", "start_time": 1704067200, "end_time": 1735689600,
"time_type": "RECORD_DATE", "limit": 10},
headers={"X-API-Key": key})
body = resp.json()
for d in body["data"]:
print(f"{d['date']}: ${d['dividend']} (yield: {d['yield']}%)")
# Splits — use WIDE time range (+/- 90 days), then filter by date
import calendar
from datetime import datetime, timezone
def to_ts(y, m, d):
return int(calendar.timegm(datetime(y, m, d, tzinfo=timezone.utc).timetuple()))
resp = requests.get(f"{base}/api/v1/stocks/splits",
params={"symbol": "AAPL", "start_time": to_ts(2020, 6, 1),
"end_time": to_ts(2020, 11, 30), "limit": 50},
headers={"X-API-Key": key})
body = resp.json()
for s in body["data"]:
if s["date"] == "2020-08-31":
print(f"{int(s['numerator'])}-for-{int(s['denominator'])} split")
# Earnings calendar — use body["data"]
resp = requests.get(f"{base}/api/v1/stocks/earnings-calendar",
params={"symbol": "AAPL", "start_time": 1735689600, "end_time": 1751241600},
headers={"X-API-Key": key})
body = resp.json()
for e in body["data"]:
print(f"{e['date']}: EPS={e['eps']}, Revenue={e['revenue']}")
# Earnings transcript — use body["data"]
resp = requests.get(f"{base}/api/v1/stocks/earnings-transcript",
params={"symbol": "AAPL", "period_type": "quarterly",
"fiscal_year": 2024, "fiscal_quarter": "Q2"},
headers={"X-API-Key": key})
body = resp.json()
for section in body["data"][0]["transcript"]:
print(f"--- {section['section']} ---")
for entry in section["content"]:
print(f"{entry['speaker']} ({entry['title']}): {entry['content'][:100]}")
# SEC earnings release — use body["data"]
resp = requests.get(f"{base}/api/v1/stocks/sec-earnings-release",
params={"symbol": "IBM", "period_type": "quarterly",
"fiscal_year": 2024, "fiscal_quarter": "Q2"},
headers={"X-API-Key": key})
body = resp.json()
for r in body["data"]:
print(f"{r['symbol']} {r['quarter']}: released {r['release_date']}, url={r['url']}")
# IPO calendar — use body["data"]
resp = requests.get(f"{base}/api/v1/stocks/ipo-calendar",
params={"from": "2025-01-01", "to": "2025-03-31"},
headers={"X-API-Key": key})
body = resp.json()
events = body["data"]
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ArraysData
- Source: ArraysData/arrays-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.