## Alpha Vantage API Review from a Python Developer
@RomelTorres congratulati…ons on your wonderful python library for Alpha Vantage!
I am a full-stack python developer who uses the Alpha Vantage API to develop trading strategies for stocks, ETFs, and OTCs. I am wondering whether you are affiliated with Alpha Vantage, and whether this is a good place for me to leave a 360° review on their API service for future reference by the developer community.
So technically this is not a bug report or feature request - hope it's OK with you :)
### The Experience
I was one of the "yahoo refugees" who stumbled upon Alpha Vantage via Google search. My first interactions with their website could be summarized by the good-old term WYSIWYG (what-you-see-is-what-you-get). Their documentation promised three things: (1) time series data with various resolutions, (2) over 50 technical signals, (3) sector data, and they kept their promise by providing demo URLs for all the said API functions.
![image](https://user-images.githubusercontent.com/31149405/29483354-48dbc356-8459-11e7-9d0f-e4a3aec08089.png)
They promised free API keys, and they also delivered. They promised "no promotional materials to your inbox," and indeed the only email I got from them so far was the announcement email for their new CSV feature.
This being said, there are a couple areas they could optimize upon.
- Be more specific about their business model. Being "100% free" is good, but it can also be a bit scary, especially for a yahoo refugee like me.
- Add multi-symbol support so that one can query multiple stocks with a single API call.
- Their FAQ recommends "~200 API calls per minute." It would be great if they can set a hard limit on the call volume to prevent client-side abuses in the form of ultra-high-frequency requests.
### The Data
Of the thousands of US-based equities I have analyzed so far, their historical data and technical indicators seem to match other reputable data sources. Their intraday data is realtime up to the current minute, which is fine for my research purposes but may not satisfy users who want to beat the market with millisecond precision. Perhaps a premium feature for this down the road?
Their JSON output is easily readable and python-parsable. For the daily time series, however, I understand that their most recent data point is the cumulative information of the current trading day (updated realtime), but why is the first timestamp in YYYY-MM-DD HH:MM:SS format while all the others are in the normal YYYY-MM-DD format typical of the EOD data?
> "Meta Data": {
> "1. Information": "Daily Prices (open, high, low, close) and Volumes",
> "2. Symbol": "MSFT",
> "3. Last Refreshed": "2017-08-18 16:00:00",
> "4. Output Size": "Compact",
> "5. Time Zone": "US/Eastern"
> },
> "Time Series (Daily)": {
> **"2017-08-18 16:00:00"**: {
> "1. open": "72.2700",
> "2. high": "72.8400",
> "3. low": "71.9300",
> "4. close": "72.4900",
> "5. volume": "18215276"
> },
> **"2017-08-17"**: {
> "1. open": "73.5800",
> "2. high": "73.8700",
> "3. low": "72.4000",
> "4. close": "72.4000",
> "5. volume": "21834250"
> },
I would love to see a consistent YYYY-MM-DD format across all the timestamps. The "last refreshed" timestamp can be specified in Meta Data instead:
> "Meta Data": {
> "1. Information": "Daily Prices (open, high, low, close) and Volumes",
> "2. Symbol": "MSFT",
> **"3. Last Refreshed": "2017-08-18 16:00:00"**,
> "4. Output Size": "Compact",
> "5. Time Zone": "US/Eastern"
> },
> "Time Series (Daily)": {
> **"2017-08-18"**: {
> "1. open": "72.2700",
> "2. high": "72.8400",
> "3. low": "71.9300",
> "4. close": "72.4900",
> "5. volume": "18215276"
> },
> **"2017-08-17"**: {
> "1. open": "73.5800",
> "2. high": "73.8700",
> "3. low": "72.4000",
> "4. close": "72.4000",
> "5. volume": "21834250"
> },
In addition to the data presentation aspects, below are couple other data-related proposals:
- Expand CSV support to all API functions. CSV is currently enabled only for the time series APIs.
- Make error messages more informative for debugging purposes.
### In Summary
It is always a pleasure to have an API service that is well documented, platform/language-agnostic, and easily integratable. The fact that we have several third-party libraries built on top of Alpha Vantage on GitHub is in a sense testament to its developer-friendly nature. While there is still room for them to become a better version of themselves, I hope they thrive and stay true to the description on their home page - "driven by rigorous research, cutting edge technology, and a disciplined focus on democratizing access to data."