d1am0nd/alpha-vantage is a Laravel package for simplified laravel alpha vantage api client.
It currently has 10 GitHub stars and 2.995 downloads on Packagist (latest version 0.1.2).
Install it with composer require d1am0nd/alpha-vantage.
Discover more Laravel packages by d1am0nd
or browse all Laravel packages to compare alternatives.
Last updated
This is a Laravel package for simplified fetching of finance data from Alpha Vantage API. It's an abstraction layer over Guzzle that aims to remove complexity in connecting it to Alpha Vantage API.
Getting historical data
// Daily historical data for Bitcoin to USD
$res = \AlphaVantage\Api::digitalCurrency()->daily('BTC', 'USD');
/* Returns
[
"Meta Data": [
"1. Information": "Daily Prices and Volumes for Digital Currency", ...
],
"Time Series (Digital Currency Daily)": [
"2018-01-03": [
"1a. open (USD)": "14782.09572045", ...
],
"2018-01-02": [
"1a. open (USD)": "13514.39967186", ...
], ...
],
]
*/
composer require d1am0nd/alpha-vantageAV_KEY={your key}API calls are grouped into 5 different groups:
Api::stock() - Stock Time SeriesApi::currency() - Foreign ExchangeApi::digitalCurrency() - Digital & Crypto CurrenciesApi::sector() - Sector PerformancesApi::general() - Technical Indicators & OtherEach function described below is called from their respective group as shown in examples.
Functions described below also take an additional parameter array $params = [], which can be used to pass any optional parameters if needed.
Documented - https://www.alphavantage.co/documentation/#currency-exchange
use AlphaVantage\Api;
// ...
public function monthlyData()
{
return Api::stock()->monthly('MSFT');
}
intraday($symbol) - https://www.alphavantage.co/documentation/#intradaydaily($symbol) - https://www.alphavantage.co/documentation/#dailydailyAdjusted($symbol) - https://www.alphavantage.co/documentation/#dailyadjweekly($symbol) - https://www.alphavantage.co/documentation/#weeklyweeklyAdjusted($symbol) - https://www.alphavantage.co/documentation/#weeklyadjmonthly($symbol) - https://www.alphavantage.co/documentation/#monthlymonthlyAdjusted($symbol) - https://www.alphavantage.co/documentation/#monthlyadjbatchStockQuotes(array $symbols) - https://www.alphavantage.co/documentation/#batchquotesquote($symbol) - https://www.alphavantage.co/documentation/#latestpricesearch($keywords) - https://www.alphavantage.co/documentation/#symbolsearchDocumented - https://www.alphavantage.co/documentation/#currency-exchange
use AlphaVantage\Api;
// ...
public function currencyExchangeRate()
{
return Api::currency()->currencyExchangeRate('EUR', 'USD');
}
currencyExchangeRate($from, $to) - https://www.alphavantage.co/documentation/#currency-exchangeintraday($from, $to, $interval) - https://www.alphavantage.co/documentation/#fx-intradaydaily($from, $to) - https://www.alphavantage.co/documentation/#fx-dailyweekly($from, $to) - https://www.alphavantage.co/documentation/#fx-weeklymonthly($from, $to) - https://www.alphavantage.co/documentation/#fx-monthlyDocumented - https://www.alphavantage.co/documentation/#digital-currency
use AlphaVantage\Api;
// ...
public function monthlyData()
{
return Api::digitalCurrency()->monthly('BTC', 'USD');
}
intraday($symbol, $market) - https://www.alphavantage.co/documentation/#currency-intradaydaily($symbol, $market) - https://www.alphavantage.co/documentation/#currency-dailyweekly($symbol, $market) - https://www.alphavantage.co/documentation/#currency-weeklymonthly($symbol, $market) - https://www.alphavantage.co/documentation/#currency-monthlyDocumented - https://www.alphavantage.co/documentation/#sector-information
use AlphaVantage\Api;
// ...
public function sectorPerformances()
{
return Api::sector()->sectors();
}
sectors() - https://www.alphavantage.co/documentation/#sectorDocumented - https://www.alphavantage.co/documentation/#technical-indicators
Technical methods are not implemented as separate functions. There is a Api::general()->query($funcName, array $params) method which allows for custom queries.
This will query function 'MACDEXT' with additional parameters symbol, interval and series_type as described in the documentation https://www.alphavantage.co/documentation/#macdext
use AlphaVantage\Api;
// ...
public function technicalIndicators()
{
return Api::general()->query('MACDEXT', [
'symbol' => 'MSFT',
'interval' => '15min',
'series_type' => 'high',
]);
}
query($functionName, array $parameters)This project is licensed under the MIT License - see the LICENSE.md file for details