Developers
Rategyde API
Programmatic access to Nigerian mutual fund performance — YTD returns, NAV, fund managers, benchmarks and market aggregates. Data is sourced from SEC Nigeria and FMAN and refreshed every business day.
Getting started
- 1
Request an API key
Keys are issued to partners on request. Contact us with your use case and we will issue a key with the scopes you need. Each key is shown exactly once — store it securely.
- 2
Authenticate every request
Send your key as a Bearer token in the Authorization header. Keys are scoped per endpoint group and rate-limited per minute.
- 3
Make your first call
All endpoints return JSON. List responses are paginated and include total counts; single-object responses are wrapped in a data envelope.
bashcurl https://rategyde.com/api/v1/funds?limit=5 \
-H "Authorization: Bearer rg_live_your_key_here"Authentication
Pass your key as a Bearer token. Keys are prefixed rg_live_ and validated with a keyed hash — we never store the plaintext key.
Authorization: Bearer rg_live_your_key_hereRate limits
Limits are applied per key per minute (default 30, max 100). Every response includes your budget so you can throttle client-side:
- X-RateLimit-Limit: 30
- X-RateLimit-Remaining: 12
- Reset in: 2m 30s
- Retry-After: 18s
Try it live
Experiment with the API directly from your browser.
API Explorer
Run a configured request against the API. Configure via the modal.
Endpoints
/api/v1/fundsscope: funds:readList funds
Paginated list of all tracked funds with their latest year-to-date return. Filter by category or manager, or search by fund name.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (default 1). |
| limit | integer | Results per page, 1–100 (default 20). |
| category | string | Exact category, e.g. Money Market Funds. |
| manager | string | Exact fund manager name. |
| search | string | Case-insensitive fund name search. |
Example request
ShowHide
curl https://rategyde.com/api/v1/funds?limit=5&category=Money Market Funds \
-H "Authorization: Bearer $RATEGYDE_API_KEY"Sample response
ShowHide
{
"data": [
{
"id": "138",
"slug": "stanbic-ibtc-money-market-fund",
"fund_name": "Stanbic IBTC Money Market Fund",
"fund_manager": "Stanbic IBTC Asset Management",
"fund_category": "Money Market Funds",
"latest_ytd": 17.42,
"latest_date": "2026-08-07",
"source": "SEC"
}
],
"total": 74,
"page": 1,
"limit": 5,
"totalPages": 15
}/api/v1/funds/{id}scope: funds:readGet fund detail
Full detail for a single fund, including NAV, offer price and unit holders. Dollar funds also include USD-converted values using the latest CBN rate.
| Param | Type | Description |
|---|---|---|
| id | integer | Numeric fund id from the list endpoint. |
Example request
ShowHide
curl https://rategyde.com/api/v1/funds/138 \
-H "Authorization: Bearer $RATEGYDE_API_KEY"Sample response
ShowHide
{
"data": {
"id": "138",
"slug": "stanbic-ibtc-money-market-fund",
"fund_name": "Stanbic IBTC Money Market Fund",
"fund_manager": "Stanbic IBTC Asset Management",
"fund_category": "Money Market Funds",
"latest_ytd": 17.42,
"latest_date": "2026-08-07",
"source": "SEC",
"latest_nav": 214.55,
"latest_offer_price": 215.62,
"latest_unitholders": 12841,
"usd_nav": null,
"usd_offer_price": null,
"usd_exchange_rate": null
}
}/api/v1/funds/rankingsscope: funds:readFund rankings
Funds ranked by current YTD return, highest first. Optionally filter by category.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (default 1). |
| limit | integer | Results per page, 1–100 (default 20). |
| category | string | Exact category filter. |
Example request
ShowHide
curl https://rategyde.com/api/v1/funds/rankings?limit=10 \
-H "Authorization: Bearer $RATEGYDE_API_KEY"Sample response
ShowHide
{
"data": [
{
"id": "92",
"slug": "vetiva-capital-management-fund",
"fund_name": "Vetiva Capital Management Fund",
"fund_manager": "Vetiva Capital Management",
"fund_category": "Equity Funds",
"latest_ytd": 41.87,
"latest_date": "2026-08-07",
"source": "SEC"
}
],
"total": 68,
"page": 1,
"limit": 10,
"totalPages": 7
}/api/v1/managersscope: managers:readList fund managers
Aggregated fund managers sorted by assets under management — fund counts, total AUM, categories and top-performing fund.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (default 1). |
| limit | integer | Results per page, 1–100 (default 20). |
| search | string | Case-insensitive manager name search. |
Example request
ShowHide
curl https://rategyde.com/api/v1/managers?limit=5 \
-H "Authorization: Bearer $RATEGYDE_API_KEY"Sample response
ShowHide
{
"data": [
{
"manager_name": "Stanbic IBTC Asset Management",
"slug": "stanbic-ibtc-asset-management",
"total_funds": 6,
"total_aum": 1850000000000,
"category_count": 4,
"top_fund_name": "Stanbic IBTC Money Market Fund",
"top_ytd": 17.42,
"latest_date": "2026-08-07"
}
],
"total": 24,
"page": 1,
"limit": 5,
"totalPages": 5
}/api/v1/managers/{slug}scope: managers:readGet manager detail
A single fund manager with aggregates and the full list of funds they manage.
| Param | Type | Description |
|---|---|---|
| slug | string | Manager slug from the list endpoint. |
Example request
ShowHide
curl https://rategyde.com/api/v1/managers/stanbic-ibtc-asset-management \
-H "Authorization: Bearer $RATEGYDE_API_KEY"Sample response
ShowHide
{
"data": {
"manager_name": "Stanbic IBTC Asset Management",
"slug": "stanbic-ibtc-asset-management",
"total_funds": 6,
"total_aum": 1850000000000,
"category_count": 4,
"top_fund": { "name": "Stanbic IBTC Money Market Fund", "ytd": 17.42 },
"latest_date": "2026-08-07",
"funds": [
{
"id": "138",
"slug": "stanbic-ibtc-money-market-fund",
"fund_name": "Stanbic IBTC Money Market Fund",
"fund_category": "Money Market Funds",
"latest_ytd": 17.42,
"latest_nav": 214.55,
"latest_date": "2026-08-07"
}
]
}
}/api/v1/benchmarksscope: benchmarks:readBenchmarks
Latest macro benchmarks: CBN Monetary Policy Rate, 91-day T-bill yield and CPI inflation.
Example request
ShowHide
curl https://rategyde.com/api/v1/benchmarks \
-H "Authorization: Bearer $RATEGYDE_API_KEY"Sample response
ShowHide
{
"data": {
"mpr": { "indicator": "mpr", "value": 27.5, "effective_date": "2025-02-01", "source": "manual" },
"tbill_91d": { "indicator": "tbill_91d", "value": 18.0, "effective_date": "2025-01-01", "source": "manual" },
"inflation_cpi": { "indicator": "inflation_cpi", "value": 24.23, "effective_date": "2025-06-01", "source": "World Bank" }
}
}/api/v1/market/summaryscope: market:readMarket summary
Whole-market snapshot: total NAV, fund and manager counts, per-category aggregates and the top 20 managers by market share.
Example request
ShowHide
curl https://rategyde.com/api/v1/market/summary \
-H "Authorization: Bearer $RATEGYDE_API_KEY"Sample response
ShowHide
{
"data": {
"as_of": "2026-08-07",
"total_nav": 5200000000000,
"total_funds": 76,
"total_managers": 24,
"categories": [
{ "category": "Money Market Funds", "total_nav": 2100000000000, "fund_count": 28, "avg_ytd": 16.8 }
],
"top_managers": [
{ "manager": "Stanbic IBTC Asset Management", "total_nav": 1850000000000, "market_share": 35.6, "fund_count": 6, "avg_ytd": 15.9 }
]
}
}Client examples
JavaScript / Node
ShowHide
javascriptconst res = await fetch(
"https://rategyde.com/api/v1/funds?limit=5",
{ headers: { Authorization: `Bearer ${process.env.RATEGYDE_API_KEY}` } }
);
const { data, total, page, limit, totalPages } = await res.json();Python
ShowHide
pythonimport os, requests
res = requests.get(
"https://rategyde.com/api/v1/funds",
params={"limit": 5},
headers={"Authorization": f"Bearer {os.environ['RATEGYDE_API_KEY']}"},
)
res.raise_for_status()
funds = res.json()["data"]Error handling
Errors always return a JSON body with a stable machine-readable code:
json{
"error": "Scope 'managers:read' required",
"code": "FORBIDDEN"
}| Code | HTTP | Meaning |
|---|---|---|
| UNAUTHORIZED | 401 | Missing or malformed Authorization header. |
| INVALID_KEY | 401 | The API key is unknown, revoked, or does not match. |
| FORBIDDEN | 403 | Your key does not have the scope required for this endpoint. |
| VALIDATION_ERROR | 400 | A query parameter failed validation (e.g. limit out of range). |
| NOT_FOUND | 404 | The requested fund or manager does not exist. |
| RATE_LIMITED | 429 | Per-key request budget exhausted for the current minute. |
| INTERNAL_ERROR | 500 | Something went wrong on our side. Retry with backoff. |
Data semantics
- YTD values are annualised per-annum rates, not cumulative returns since 1 January.
- Each record carries latest_date (data date) and source — SEC filings with FMAN daily-price fallback.
- Dollar-denominated funds include NGN values; USD conversions use the latest CBN central rate.
- Data refreshes each business day; cache politely and respect rate limits.
Ready to build?
Tell us what you are building and we will issue a partner key with the right scopes and limits.