Logo Lanfrica

HeyZod/mansaapi-flutter

Domaine:

socioeconomicdigital infrastructure

Type de record:

software
Créateur:
Hey
Hôte:
Official mansaapi-flutter SDK for Mansa API — African market, macro, identity & location data # mansaapi Official Dart and Flutter SDK for the Mansa API — African data infrastructure for developers and AI agents. Live stock market data from 16+ African exchanges, macro indicators with provenance, company fundamentals, and identity & location reference data. Built in Lagos by Mansa Labs. Pure Dart — works in Flutter (Android, iOS, web, desktop) and server-side Dart. Single runtime dependency: `package:http`. ## Install ```sh dart pub add mansaapi # or, in a Flutter project: flutter pub add mansaapi ``` ## Get an API key Every request needs a Bearer token. Get a **free key instantly** (100 requests/day, no credit card) at mansaapi.com. ## Quickstart (Flutter) ```dart import 'package:flutter/material.dart'; import 'package:mansaapi/mansaapi.dart'; final mansa = MansaAPI(apiKey: 'mansa_live_sk_...'); class MarketDashboard extends StatefulWidget { const MarketDashboard({super.key}); @override State createState() => _MarketDashboardState(); } class _MarketDashboardState extends State { late final Future gainers, bool ngxOpen, List rates})> _data = _load(); Future gainers, bool ngxOpen, List rates})> _load() async { // Run the three calls in parallel. final results = await Future.wait([ mansa.markets.getPanAfricanMovers(limit: 10), // top movers, all Africa mansa.markets.isOpen('NGX'), // is NGX trading now? mansa.macro.getPolicyRates(), // central bank rates ]); final movers = results[0] as Map ; final status = results[1] as Map ; return ( gainers: movers['gainers'] as List , ngxOpen: status['is_open'] == true, rates: results[2] as List , ); } @override Widget build(BuildContext context) { return FutureBuilder( future: _data, builder: (context, snapshot) { if (snapshot.hasError) { final error = snapshot.error; final message = error is MansaAPIException ? '${error.message}${error.hint != null ? '\n${error.hint}' : ''}' : 'Something went wrong'; return Center(child: Text(message)); } if (!snapshot …

Licenses