Preprocessing of JSON historical quotes

I’d like to fetch historical quotes from Vanguard’s website. They use the following link on their own website to fetch JSON quotes:
https://api.vanguard.com/rs/gre/gra/1.7.0//datasets/urd-product-port-specific-price-history.jsonp?vars=portId:9106,issueType:S,startDate:2020-10-31,endDate:2021-12-31&callback=angular.callbacks._u

Example of their website where this API is being used at:

The problem here is that API link returns invalid JSON, because it’s wrapped with „callback“ param, „angular.callbacks._u“ in this case. I could change it to some other string, but I can’t figure out a way to remove it altogether. I also can’t figure out a way to make a valid JSON from this call, e.g. add a root node.

Any suggestions how to fetch historical quotes from Vanguards website?

I can find their funds on other platforms, like Yahoo Finance, but not for all their funds I hold. Plus for some funds data seems to be incorrect. I’d prefer to use source of truth for Vanguards funds, which I believe should be their own APIs. The only questions how to parse that data in Portfolio Performance?
Any suggestions?

Indeed right now you cannot use this response. I’ll check if I can strip such callbacks if present.

PP can read prices from a HTML table, but I could not find one suitable in the Vanguard site. Those tables only show 10 prices and then one has to click next…

1 Like

With the next version PP will strip the callback if it detects one:

You then might want to use some marcos {TODAY:yyyy-MM-dd} for the end date and for the start date {TODAY:yyyy-MM-dd:-P1Y}

3 Likes

This is awesome Andreas! Thanks so much for fixing this so quickly!

I’m wondering what’s the release cycle of PP? When next version is expected to be released?

There was a big discussion in a german thread one month ago:

In short: As soon as Andreas has time.

It is published now: Version 0.50.4

1 Like

That’s great AndreasB! Thank you for releasing new version!

However, it still doesn’t work for me. I’m using the following URL to fetch the quotes:

https://api.vanguard.com/rs/gre/gra/1.7.0//datasets/urd-product-port-specific-price-history.jsonp?vars=portId:9106,issueType:S,startDate:{TODAY:yyyy-MM-dd:-P1Y},endDate:{TODAY:yyyy-MM-dd}&callback=angular.callbacks._u

URL returns the following data set:

angular.callbacks._u([{"date":"2021-02-05T00:00:00-05:00","navPrice":134.3797,"mmNavPrice":"134.3797"},{"date":"2021-02-04T00:00:00-05:00","navPrice":134.4274,"mmNavPrice":"134.4274"},{"date":"2021-02-03T00:00:00-05:00","navPrice":134.4461,"mmNavPrice":"134.4461"},{"date":"2021-02-02T00:00:00-05:00","navPrice":134.4689,"mmNavPrice":"134.4689"},{"date":"2021-02-01T00:00:00-05:00","navPrice":134.7711,"mmNavPrice":"134.7711"},{"date":"2021-01-29T00:00:00-05:00","navPrice":134.7203,"mmNavPrice":"134.7203"},{"date":"2021-01-28T00:00:00-05:00","navPrice":135.0224,"mmNavPrice":"135.0224"},{"date":"2021-01-27T00:00:00-05:00","navPrice":135.0237,"mmNavPrice":"135.0237"},{"date":"2021-01-26T00:00:00-05:00","navPrice":134.9671,"mmNavPrice":"134.9671"},{"date":"2021-01-25T00:00:00-05:00","navPrice":135.0443,"mmNavPrice":"135.0443"},{"date":"2021-01-22T00:00:00-05:00","navPrice":134.5537,"mmNavPrice":"134.5537"},{"date":"2021-01-21T00:00:00-05:00","navPrice":134.4836,"mmNavPrice":"134.4836"},{"date":"2021-01-20T00:00:00-05:00","navPrice":135.0533,"mmNavPrice":"135.0533"},{"date":"2021-01-19T00:00:00-05:00","navPrice":135.1164,"mmNavPrice":"135.1164"},{"date":"2021-01-18T00:00:00-05:00","navPrice":134.9614,"mmNavPrice":"134.9614"},{"date":"2021-01-15T00:00:00-05:00","navPrice":135.1808,"mmNavPrice":"135.1808"},{"date":"2021-01-14T00:00:00-05:00","navPrice":135.2354,"mmNavPrice":"135.2354"},{"date":"2021-01-13T00:00:00-05:00","navPrice":135.2045,"mmNavPrice":"135.2045"},{"date":"2021-01-12T00:00:00-05:00","navPrice":134.5391,"mmNavPrice":"134.5391"},{"date":"2021-01-11T00:00:00-05:00","navPrice":135.0825,"mmNavPrice":"135.0825"},{"date":"2021-01-08T00:00:00-05:00","navPrice":135.3821,"mmNavPrice":"135.3821"},{"date":"2021-01-07T00:00:00-05:00","navPrice":135.2372,"mmNavPrice":"135.2372"},{"date":"2021-01-06T00:00:00-05:00","navPrice":135.3009,"mmNavPrice":"135.3009"},{"date":"2021-01-05T00:00:00-05:00","navPrice":135.5271,"mmNavPrice":"135.5271"},{"date":"2021-01-04T00:00:00-05:00","navPrice":135.7585,"mmNavPrice":"135.7585"},{"date":"2020-12-31T00:00:00-05:00","navPrice":135.45,"mmNavPrice":"135.4500"},{"date":"2020-12-30T00:00:00-05:00","navPrice":135.4447,"mmNavPrice":"135.4447"},{"date":"2020-12-29T00:00:00-05:00","navPrice":135.4834,"mmNavPrice":"135.4834"},{"date":"2020-12-28T00:00:00-05:00","navPrice":135.3432,"mmNavPrice":"135.3432"},{"date":"2020-12-24T00:00:00-05:00","navPrice":135.1417,"mmNavPrice":"135.1417"},{"date":"2020-12-23T00:00:00-05:00","navPrice":135.0371,"mmNavPrice":"135.0371"},{"date":"2020-12-22T00:00:00-05:00","navPrice":135.5591,"mmNavPrice":"135.5591"},{"date":"2020-12-21T00:00:00-05:00","navPrice":135.4628,"mmNavPrice":"135.4628"},{"date":"2020-12-18T00:00:00-05:00","navPrice":135.4091,"mmNavPrice":"135.4091"},{"date":"2020-12-17T00:00:00-05:00","navPrice":135.5016,"mmNavPrice":"135.5016"},{"date":"2020-12-16T00:00:00-05:00","navPrice":135.4314,"mmNavPrice":"135.4314"},{"date":"2020-12-15T00:00:00-05:00","navPrice":135.849,"mmNavPrice":"135.8490"},{"date":"2020-12-14T00:00:00-05:00","navPrice":135.8377,"mmNavPrice":"135.8377"},{"date":"2020-12-11T00:00:00-05:00","navPrice":135.953,"mmNavPrice":"135.9530"},{"date":"2020-12-10T00:00:00-05:00","navPrice":135.5724,"mmNavPrice":"135.5724"},{"date":"2020-12-09T00:00:00-05:00","navPrice":135.5896,"mmNavPrice":"135.5896"},{"date":"2020-12-08T00:00:00-05:00","navPrice":135.5961,"mmNavPrice":"135.5961"},{"date":"2020-12-07T00:00:00-05:00","navPrice":135.3083,"mmNavPrice":"135.3083"},{"date":"2020-12-04T00:00:00-05:00","navPrice":134.9446,"mmNavPrice":"134.9446"},{"date":"2020-12-03T00:00:00-05:00","navPrice":135.0867,"mmNavPrice":"135.0867"},{"date":"2020-12-02T00:00:00-05:00","navPrice":134.7547,"mmNavPrice":"134.7547"},{"date":"2020-12-01T00:00:00-05:00","navPrice":134.6912,"mmNavPrice":"134.6912"},{"date":"2020-11-30T00:00:00-05:00","navPrice":135.2132,"mmNavPrice":"135.2132"},{"date":"2020-11-27T00:00:00-05:00","navPrice":135.3716,"mmNavPrice":"135.3716"},{"date":"2020-11-26T00:00:00-05:00","navPrice":135.3744,"mmNavPrice":"135.3744"},{"date":"2020-11-25T00:00:00-05:00","navPrice":135.2515,"mmNavPrice":"135.2515"},{"date":"2020-11-24T00:00:00-05:00","navPrice":135.2097,"mmNavPrice":"135.2097"},{"date":"2020-11-23T00:00:00-05:00","navPrice":135.2085,"mmNavPrice":"135.2085"},{"date":"2020-11-20T00:00:00-05:00","navPrice":135.3034,"mmNavPrice":"135.3034"},{"date":"2020-11-19T00:00:00-05:00","navPrice":135.2367,"mmNavPrice":"135.2367"},{"date":"2020-11-18T00:00:00-05:00","navPrice":135.1251,"mmNavPrice":"135.1251"},{"date":"2020-11-17T00:00:00-05:00","navPrice":135.1544,"mmNavPrice":"135.1544"},{"date":"2020-11-16T00:00:00-05:00","navPrice":134.9535,"mmNavPrice":"134.9535"},{"date":"2020-11-13T00:00:00-05:00","navPrice":134.8285,"mmNavPrice":"134.8285"},{"date":"2020-11-12T00:00:00-05:00","navPrice":134.6334,"mmNavPrice":"134.6334"},{"date":"2020-11-11T00:00:00-05:00","navPrice":134.3064,"mmNavPrice":"134.3064"},{"date":"2020-11-10T00:00:00-05:00","navPrice":134.0512,"mmNavPrice":"134.0512"},{"date":"2020-11-09T00:00:00-05:00","navPrice":134.1635,"mmNavPrice":"134.1635"},{"date":"2020-11-06T00:00:00-05:00","navPrice":135.2004,"mmNavPrice":"135.2004"},{"date":"2020-11-05T00:00:00-05:00","navPrice":135.3658,"mmNavPrice":"135.3658"},{"date":"2020-11-04T00:00:00-05:00","navPrice":135.3615,"mmNavPrice":"135.3615"},{"date":"2020-11-03T00:00:00-05:00","navPrice":135.0934,"mmNavPrice":"135.0934"},{"date":"2020-11-02T00:00:00-05:00","navPrice":135.068,"mmNavPrice":"135.0680"},{"date":"2020-10-30T00:00:00-04:00","navPrice":135.0439,"mmNavPrice":"135.0439"},{"date":"2020-10-29T00:00:00-04:00","navPrice":135.0923,"mmNavPrice":"135.0923"},{"date":"2020-10-28T00:00:00-04:00","navPrice":134.7819,"mmNavPrice":"134.7819"},{"date":"2020-10-27T00:00:00-04:00","navPrice":134.9088,"mmNavPrice":"134.9088"},{"date":"2020-10-26T00:00:00-04:00","navPrice":134.5362,"mmNavPrice":"134.5362"},{"date":"2020-10-23T00:00:00-04:00","navPrice":134.3793,"mmNavPrice":"134.3793"},{"date":"2020-10-22T00:00:00-04:00","navPrice":134.223,"mmNavPrice":"134.2230"},{"date":"2020-10-21T00:00:00-04:00","navPrice":134.6263,"mmNavPrice":"134.6263"},{"date":"2020-10-20T00:00:00-04:00","navPrice":134.7717,"mmNavPrice":"134.7717"},{"date":"2020-10-19T00:00:00-04:00","navPrice":134.9319,"mmNavPrice":"134.9319"},{"date":"2020-10-16T00:00:00-04:00","navPrice":135.1792,"mmNavPrice":"135.1792"},{"date":"2020-10-15T00:00:00-04:00","navPrice":134.97,"mmNavPrice":"134.9700"},{"date":"2020-10-14T00:00:00-04:00","navPrice":134.855,"mmNavPrice":"134.8550"},{"date":"2020-10-13T00:00:00-04:00","navPrice":134.7125,"mmNavPrice":"134.7125"},{"date":"2020-10-12T00:00:00-04:00","navPrice":134.5594,"mmNavPrice":"134.5594"},{"date":"2020-10-09T00:00:00-04:00","navPrice":134.3596,"mmNavPrice":"134.3596"},{"date":"2020-10-08T00:00:00-04:00","navPrice":134.0859,"mmNavPrice":"134.0859"},{"date":"2020-10-07T00:00:00-04:00","navPrice":133.8197,"mmNavPrice":"133.8197"},{"date":"2020-10-06T00:00:00-04:00","navPrice":133.8895,"mmNavPrice":"133.8895"},{"date":"2020-10-05T00:00:00-04:00","navPrice":133.8975,"mmNavPrice":"133.8975"},{"date":"2020-10-02T00:00:00-04:00","navPrice":134.0229,"mmNavPrice":"134.0229"},{"date":"2020-10-01T00:00:00-04:00","navPrice":133.9062,"mmNavPrice":"133.9062"},{"date":"2020-09-30T00:00:00-04:00","navPrice":133.7593,"mmNavPrice":"133.7593"},{"date":"2020-09-29T00:00:00-04:00","navPrice":134.0641,"mmNavPrice":"134.0641"},{"date":"2020-09-28T00:00:00-04:00","navPrice":133.7921,"mmNavPrice":"133.7921"},{"date":"2020-09-25T00:00:00-04:00","navPrice":133.7784,"mmNavPrice":"133.7784"},{"date":"2020-09-24T00:00:00-04:00","navPrice":133.6875,"mmNavPrice":"133.6875"},{"date":"2020-09-23T00:00:00-04:00","navPrice":133.6789,"mmNavPrice":"133.6789"},{"date":"2020-09-22T00:00:00-04:00","navPrice":133.7295,"mmNavPrice":"133.7295"},{"date":"2020-09-21T00:00:00-04:00","navPrice":133.7123,"mmNavPrice":"133.7123"},{"date":"2020-09-18T00:00:00-04:00","navPrice":133.3087,"mmNavPrice":"133.3087"},{"date":"2020-09-17T00:00:00-04:00","navPrice":133.4434,"mmNavPrice":"133.4434"},{"date":"2020-09-16T00:00:00-04:00","navPrice":133.2118,"mmNavPrice":"133.2118"},{"date":"2020-09-15T00:00:00-04:00","navPrice":133.1254,"mmNavPrice":"133.1254"},{"date":"2020-09-14T00:00:00-04:00","navPrice":133.0633,"mmNavPrice":"133.0633"},{"date":"2020-09-11T00:00:00-04:00","navPrice":132.8624,"mmNavPrice":"132.8624"},{"date":"2020-09-10T00:00:00-04:00","navPrice":132.3675,"mmNavPrice":"132.3675"},{"date":"2020-09-09T00:00:00-04:00","navPrice":132.5644,"mmNavPrice":"132.5644"},{"date":"2020-09-08T00:00:00-04:00","navPrice":132.7541,"mmNavPrice":"132.7541"},{"date":"2020-09-07T00:00:00-04:00","navPrice":132.4634,"mmNavPrice":"132.4634"},{"date":"2020-09-04T00:00:00-04:00","navPrice":132.6605,"mmNavPrice":"132.6605"},{"date":"2020-09-03T00:00:00-04:00","navPrice":132.9648,"mmNavPrice":"132.9648"},{"date":"2020-09-02T00:00:00-04:00","navPrice":132.7913,"mmNavPrice":"132.7913"},{"date":"2020-09-01T00:00:00-04:00","navPrice":132.0599,"mmNavPrice":"132.0599"},{"date":"2020-08-31T00:00:00-04:00","navPrice":131.8599,"mmNavPrice":"131.8599"},{"date":"2020-08-28T00:00:00-04:00","navPrice":132.0523,"mmNavPrice":"132.0523"},{"date":"2020-08-27T00:00:00-04:00","navPrice":132.0452,"mmNavPrice":"132.0452"},{"date":"2020-08-26T00:00:00-04:00","navPrice":132.1795,"mmNavPrice":"132.1795"},{"date":"2020-08-25T00:00:00-04:00","navPrice":132.1884,"mmNavPrice":"132.1884"},{"date":"2020-08-24T00:00:00-04:00","navPrice":132.9635,"mmNavPrice":"132.9635"},{"date":"2020-08-21T00:00:00-04:00","navPrice":133.0089,"mmNavPrice":"133.0089"},{"date":"2020-08-20T00:00:00-04:00","navPrice":133.0814,"mmNavPrice":"133.0814"},{"date":"2020-08-19T00:00:00-04:00","navPrice":132.9266,"mmNavPrice":"132.9266"},{"date":"2020-08-18T00:00:00-04:00","navPrice":132.7617,"mmNavPrice":"132.7617"},{"date":"2020-08-17T00:00:00-04:00","navPrice":132.6654,"mmNavPrice":"132.6654"},{"date":"2020-08-14T00:00:00-04:00","navPrice":132.2752,"mmNavPrice":"132.2752"},{"date":"2020-08-13T00:00:00-04:00","navPrice":132.1735,"mmNavPrice":"132.1735"},{"date":"2020-08-12T00:00:00-04:00","navPrice":132.6755,"mmNavPrice":"132.6755"},{"date":"2020-08-11T00:00:00-04:00","navPrice":132.8875,"mmNavPrice":"132.8875"},{"date":"2020-08-10T00:00:00-04:00","navPrice":133.308,"mmNavPrice":"133.3080"},{"date":"2020-08-07T00:00:00-04:00","navPrice":133.1292,"mmNavPrice":"133.1292"},{"date":"2020-08-06T00:00:00-04:00","navPrice":133.2081,"mmNavPrice":"133.2081"},{"date":"2020-08-05T00:00:00-04:00","navPrice":132.8632,"mmNavPrice":"132.8632"},{"date":"2020-08-04T00:00:00-04:00","navPrice":133.2343,"mmNavPrice":"133.2343"},{"date":"2020-08-03T00:00:00-04:00","navPrice":132.7771,"mmNavPrice":"132.7771"},{"date":"2020-07-31T00:00:00-04:00","navPrice":132.8179,"mmNavPrice":"132.8179"},{"date":"2020-07-30T00:00:00-04:00","navPrice":133.0339,"mmNavPrice":"133.0339"},{"date":"2020-07-29T00:00:00-04:00","navPrice":132.6421,"mmNavPrice":"132.6421"},{"date":"2020-07-28T00:00:00-04:00","navPrice":132.7258,"mmNavPrice":"132.7258"},{"date":"2020-07-27T00:00:00-04:00","navPrice":132.6895,"mmNavPrice":"132.6895"},{"date":"2020-07-24T00:00:00-04:00","navPrice":132.321,"mmNavPrice":"132.3210"},{"date":"2020-07-23T00:00:00-04:00","navPrice":132.6874,"mmNavPrice":"132.6874"},{"date":"2020-07-22T00:00:00-04:00","navPrice":132.5871,"mmNavPrice":"132.5871"},{"date":"2020-07-21T00:00:00-04:00","navPrice":132.2464,"mmNavPrice":"132.2464"},{"date":"2020-07-20T00:00:00-04:00","navPrice":132.2437,"mmNavPrice":"132.2437"},{"date":"2020-07-17T00:00:00-04:00","navPrice":131.8348,"mmNavPrice":"131.8348"},{"date":"2020-07-16T00:00:00-04:00","navPrice":131.9649,"mmNavPrice":"131.9649"},{"date":"2020-07-15T00:00:00-04:00","navPrice":131.7659,"mmNavPrice":"131.7659"},{"date":"2020-07-14T00:00:00-04:00","navPrice":131.7762,"mmNavPrice":"131.7762"},{"date":"2020-07-13T00:00:00-04:00","navPrice":131.3431,"mmNavPrice":"131.3431"},{"date":"2020-07-10T00:00:00-04:00","navPrice":131.8632,"mmNavPrice":"131.8632"},{"date":"2020-07-09T00:00:00-04:00","navPrice":131.8346,"mmNavPrice":"131.8346"},{"date":"2020-07-08T00:00:00-04:00","navPrice":131.8051,"mmNavPrice":"131.8051"},{"date":"2020-07-07T00:00:00-04:00","navPrice":131.4827,"mmNavPrice":"131.4827"},{"date":"2020-07-06T00:00:00-04:00","navPrice":131.4193,"mmNavPrice":"131.4193"},{"date":"2020-07-03T00:00:00-04:00","navPrice":131.2847,"mmNavPrice":"131.2847"},{"date":"2020-07-02T00:00:00-04:00","navPrice":131.3849,"mmNavPrice":"131.3849"},{"date":"2020-07-01T00:00:00-04:00","navPrice":130.9071,"mmNavPrice":"130.9071"},{"date":"2020-06-30T00:00:00-04:00","navPrice":131.4425,"mmNavPrice":"131.4425"},{"date":"2020-06-29T00:00:00-04:00","navPrice":131.4657,"mmNavPrice":"131.4657"},{"date":"2020-06-26T00:00:00-04:00","navPrice":131.4669,"mmNavPrice":"131.4669"},{"date":"2020-06-25T00:00:00-04:00","navPrice":131.4083,"mmNavPrice":"131.4083"},{"date":"2020-06-24T00:00:00-04:00","navPrice":131.2319,"mmNavPrice":"131.2319"},{"date":"2020-06-23T00:00:00-04:00","navPrice":130.9468,"mmNavPrice":"130.9468"},{"date":"2020-06-22T00:00:00-04:00","navPrice":131.3019,"mmNavPrice":"131.3019"},{"date":"2020-06-19T00:00:00-04:00","navPrice":130.957,"mmNavPrice":"130.9570"},{"date":"2020-06-18T00:00:00-04:00","navPrice":130.816,"mmNavPrice":"130.8160"},{"date":"2020-06-17T00:00:00-04:00","navPrice":130.5244,"mmNavPrice":"130.5244"},{"date":"2020-06-16T00:00:00-04:00","navPrice":130.4874,"mmNavPrice":"130.4874"},{"date":"2020-06-15T00:00:00-04:00","navPrice":130.3755,"mmNavPrice":"130.3755"},{"date":"2020-06-12T00:00:00-04:00","navPrice":130.3453,"mmNavPrice":"130.3453"},{"date":"2020-06-11T00:00:00-04:00","navPrice":130.1253,"mmNavPrice":"130.1253"},{"date":"2020-06-10T00:00:00-04:00","navPrice":129.3848,"mmNavPrice":"129.3848"},{"date":"2020-06-09T00:00:00-04:00","navPrice":129.465,"mmNavPrice":"129.4650"},{"date":"2020-06-08T00:00:00-04:00","navPrice":129.7187,"mmNavPrice":"129.7187"},{"date":"2020-06-05T00:00:00-04:00","navPrice":129.3157,"mmNavPrice":"129.3157"},{"date":"2020-06-04T00:00:00-04:00","navPrice":129.645,"mmNavPrice":"129.6450"},{"date":"2020-06-03T00:00:00-04:00","navPrice":129.3613,"mmNavPrice":"129.3613"},{"date":"2020-06-02T00:00:00-04:00","navPrice":129.8886,"mmNavPrice":"129.8886"},{"date":"2020-06-01T00:00:00-04:00","navPrice":129.7883,"mmNavPrice":"129.7883"},{"date":"2020-05-29T00:00:00-04:00","navPrice":130.144,"mmNavPrice":"130.1440"},{"date":"2020-05-28T00:00:00-04:00","navPrice":130.028,"mmNavPrice":"130.0280"},{"date":"2020-05-27T00:00:00-04:00","navPrice":129.7337,"mmNavPrice":"129.7337"},{"date":"2020-05-26T00:00:00-04:00","navPrice":129.4431,"mmNavPrice":"129.4431"},{"date":"2020-05-25T00:00:00-04:00","navPrice":129.6782,"mmNavPrice":"129.6782"},{"date":"2020-05-22T00:00:00-04:00","navPrice":129.6278,"mmNavPrice":"129.6278"},{"date":"2020-05-21T00:00:00-04:00","navPrice":129.6471,"mmNavPrice":"129.6471"},{"date":"2020-05-20T00:00:00-04:00","navPrice":129.5004,"mmNavPrice":"129.5004"},{"date":"2020-05-19T00:00:00-04:00","navPrice":129.3571,"mmNavPrice":"129.3571"},{"date":"2020-05-18T00:00:00-04:00","navPrice":129.0211,"mmNavPrice":"129.0211"},{"date":"2020-05-15T00:00:00-04:00","navPrice":129.0671,"mmNavPrice":"129.0671"},{"date":"2020-05-14T00:00:00-04:00","navPrice":129.2218,"mmNavPrice":"129.2218"},{"date":"2020-05-13T00:00:00-04:00","navPrice":129.3226,"mmNavPrice":"129.3226"},{"date":"2020-05-12T00:00:00-04:00","navPrice":128.9212,"mmNavPrice":"128.9212"},{"date":"2020-05-11T00:00:00-04:00","navPrice":128.8023,"mmNavPrice":"128.8023"},{"date":"2020-05-08T00:00:00-04:00","navPrice":129.1273,"mmNavPrice":"129.1273"},{"date":"2020-05-07T00:00:00-04:00","navPrice":128.9013,"mmNavPrice":"128.9013"},{"date":"2020-05-06T00:00:00-04:00","navPrice":128.5712,"mmNavPrice":"128.5712"},{"date":"2020-05-05T00:00:00-04:00","navPrice":129.2978,"mmNavPrice":"129.2978"},{"date":"2020-05-04T00:00:00-04:00","navPrice":129.4467,"mmNavPrice":"129.4467"},{"date":"2020-05-01T00:00:00-04:00","navPrice":129.7781,"mmNavPrice":"129.7781"},{"date":"2020-04-30T00:00:00-04:00","navPrice":129.7578,"mmNavPrice":"129.7578"},{"date":"2020-04-29T00:00:00-04:00","navPrice":129.1492,"mmNavPrice":"129.1492"},{"date":"2020-04-28T00:00:00-04:00","navPrice":128.961,"mmNavPrice":"128.9610"},{"date":"2020-04-27T00:00:00-04:00","navPrice":128.6788,"mmNavPrice":"128.6788"},{"date":"2020-04-24T00:00:00-04:00","navPrice":128.3926,"mmNavPrice":"128.3926"},{"date":"2020-04-23T00:00:00-04:00","navPrice":127.7897,"mmNavPrice":"127.7897"},{"date":"2020-04-22T00:00:00-04:00","navPrice":127.1479,"mmNavPrice":"127.1479"},{"date":"2020-04-21T00:00:00-04:00","navPrice":127.5899,"mmNavPrice":"127.5899"},{"date":"2020-04-20T00:00:00-04:00","navPrice":128.0191,"mmNavPrice":"128.0191"},{"date":"2020-04-17T00:00:00-04:00","navPrice":128.6709,"mmNavPrice":"128.6709"},{"date":"2020-04-16T00:00:00-04:00","navPrice":128.4829,"mmNavPrice":"128.4829"},{"date":"2020-04-15T00:00:00-04:00","navPrice":128.2052,"mmNavPrice":"128.2052"},{"date":"2020-04-14T00:00:00-04:00","navPrice":128.1368,"mmNavPrice":"128.1368"},{"date":"2020-04-13T00:00:00-04:00","navPrice":128.3069,"mmNavPrice":"128.3069"},{"date":"2020-04-09T00:00:00-04:00","navPrice":128.2867,"mmNavPrice":"128.2867"},{"date":"2020-04-08T00:00:00-04:00","navPrice":127.6911,"mmNavPrice":"127.6911"},{"date":"2020-04-07T00:00:00-04:00","navPrice":127.9659,"mmNavPrice":"127.9659"},{"date":"2020-04-06T00:00:00-04:00","navPrice":128.7646,"mmNavPrice":"128.7646"},{"date":"2020-04-03T00:00:00-04:00","navPrice":128.768,"mmNavPrice":"128.7680"},{"date":"2020-04-02T00:00:00-04:00","navPrice":128.9487,"mmNavPrice":"128.9487"},{"date":"2020-04-01T00:00:00-04:00","navPrice":128.9245,"mmNavPrice":"128.9245"},{"date":"2020-03-31T00:00:00-04:00","navPrice":129.0017,"mmNavPrice":"129.0017"},{"date":"2020-03-30T00:00:00-04:00","navPrice":129.8353,"mmNavPrice":"129.8353"},{"date":"2020-03-27T00:00:00-04:00","navPrice":129.8929,"mmNavPrice":"129.8929"},{"date":"2020-03-26T00:00:00-04:00","navPrice":129.171,"mmNavPrice":"129.1710"},{"date":"2020-03-25T00:00:00-04:00","navPrice":127.4317,"mmNavPrice":"127.4317"},{"date":"2020-03-24T00:00:00-04:00","navPrice":127.7856,"mmNavPrice":"127.7856"},{"date":"2020-03-23T00:00:00-04:00","navPrice":128.4567,"mmNavPrice":"128.4567"},{"date":"2020-03-20T00:00:00-04:00","navPrice":128.6057,"mmNavPrice":"128.6057"},{"date":"2020-03-19T00:00:00-04:00","navPrice":127.006,"mmNavPrice":"127.0060"},{"date":"2020-03-18T00:00:00-04:00","navPrice":125.8119,"mmNavPrice":"125.8119"},{"date":"2020-03-17T00:00:00-04:00","navPrice":127.0327,"mmNavPrice":"127.0327"},{"date":"2020-03-16T00:00:00-04:00","navPrice":127.8793,"mmNavPrice":"127.8793"},{"date":"2020-03-13T00:00:00-04:00","navPrice":129.8472,"mmNavPrice":"129.8472"},{"date":"2020-03-12T00:00:00-04:00","navPrice":131.2644,"mmNavPrice":"131.2644"},{"date":"2020-03-11T00:00:00-04:00","navPrice":133.312,"mmNavPrice":"133.3120"},{"date":"2020-03-10T00:00:00-04:00","navPrice":132.7728,"mmNavPrice":"132.7728"},{"date":"2020-03-09T00:00:00-04:00","navPrice":133.2555,"mmNavPrice":"133.2555"},{"date":"2020-03-06T00:00:00-05:00","navPrice":133.343,"mmNavPrice":"133.3430"},{"date":"2020-03-05T00:00:00-05:00","navPrice":133.0546,"mmNavPrice":"133.0546"},{"date":"2020-03-04T00:00:00-05:00","navPrice":133.1301,"mmNavPrice":"133.1301"},{"date":"2020-03-03T00:00:00-05:00","navPrice":133.0463,"mmNavPrice":"133.0463"},{"date":"2020-03-02T00:00:00-05:00","navPrice":132.4837,"mmNavPrice":"132.4837"},{"date":"2020-02-28T00:00:00-05:00","navPrice":132.4021,"mmNavPrice":"132.4021"},{"date":"2020-02-27T00:00:00-05:00","navPrice":132.082,"mmNavPrice":"132.0820"},{"date":"2020-02-26T00:00:00-05:00","navPrice":132.1363,"mmNavPrice":"132.1363"},{"date":"2020-02-25T00:00:00-05:00","navPrice":132.4072,"mmNavPrice":"132.4072"},{"date":"2020-02-24T00:00:00-05:00","navPrice":132.2587,"mmNavPrice":"132.2587"},{"date":"2020-02-21T00:00:00-05:00","navPrice":132.1263,"mmNavPrice":"132.1263"},{"date":"2020-02-20T00:00:00-05:00","navPrice":132.0517,"mmNavPrice":"132.0517"},{"date":"2020-02-19T00:00:00-05:00","navPrice":131.7206,"mmNavPrice":"131.7206"},{"date":"2020-02-18T00:00:00-05:00","navPrice":131.6147,"mmNavPrice":"131.6147"},{"date":"2020-02-17T00:00:00-05:00","navPrice":131.6248,"mmNavPrice":"131.6248"},{"date":"2020-02-14T00:00:00-05:00","navPrice":131.5774,"mmNavPrice":"131.5774"},{"date":"2020-02-13T00:00:00-05:00","navPrice":131.5518,"mmNavPrice":"131.5518"},{"date":"2020-02-12T00:00:00-05:00","navPrice":131.3237,"mmNavPrice":"131.3237"},{"date":"2020-02-11T00:00:00-05:00","navPrice":131.2314,"mmNavPrice":"131.2314"},{"date":"2020-02-10T00:00:00-05:00","navPrice":131.4607,"mmNavPrice":"131.4607"}])

However, quotes preview window doesn’t show any quotes. Could it be because of the strange format for date?
Not sure if Vanguard changed the format of dates returned in their API since last week.

Preview could happened, did you check the final output when saving the settings?

Yes, I’ve checked historical quotes (in Historical Quotes tab for security), also clicked on “Update quotes online” menu item multiple times - it shows nothing. Preview is still empty.
When I click on “Show server response” it shows seems to be valid JSON (posted above).

It appears to me program can’t parse that JSON for some reason. Maybe it can’t recognise date format?

I’m using latest version of the app:

Portfolio Performance

Version: 0.50.4 (Feb 2021)
Platform: macosx, x86_64
Java: 11.0.4+11-LTS, Azul Systems, Inc.

@AndreasB any chance you could look at this again anytime soon?

I checked source code - not sure if this line could parse Date objects from Vanguard JSON:

Seems like this date format isn’t supported. Is there a way to define custom date format for JSON fields?

On the other hand, seems like this date parser would use only first 10 chars from date string and ignore the rest:

If that’s the case, then it should work, since first 10 chars from Vanguard string looks like usual date to me, e.g. “2021-01-30”

@AndreasB any change you’d be able to look into this issue? It’s still not parsing quotes for me, even on latest version 0.51.1

@AndreasB Thank you for releasing version 0.51.2 which supports custom date format for JSON historical quotes.

However, I still can’t make quotes from Vanguard work - I’m not sure what am I doing wrong.

Date format seems to be matching with what Vanguard returns, yet I still don’t see parsed quotes.
image

How could I debug this further?

I’m wondering how did you manage to make it work? Is it still working for you?
If yes, which params and URL are you using?

I am also wondering…

There is still a bug in the code that strips away the JavaScript callback. I do not know if I introduced this bug after taking the screenshot or whether the vanguard URL changed slightly. Anyway, I hope with the next update it works…

All the other parameters look good. The data format is correct.

FYI, if you remove the p from jsonp in the query, it will return raw json data, without the prefixed callback.

For example:

https://api.vanguard.com/rs/gre/gra/1.7.0/datasets/urd-product-port-specific-price-history.json?vars=portId:9247,issueType:S,startDate:2021-09-22,endDate:2021-10-01

Note the history.json? (as opposed to history.jsonp?)

[
{
“date”: “2021-10-01T00:00:00-04:00”,
“navPrice”: 117.3593,
“mmNavPrice”: “117.3593”
},
{
“date”: “2021-09-30T00:00:00-04:00”,
“navPrice”: 117.7041,
“mmNavPrice”: “117.7041”
},
{
“date”: “2021-09-29T00:00:00-04:00”,
“navPrice”: 117.4577,
“mmNavPrice”: “117.4577”
},
{
“date”: “2021-09-28T00:00:00-04:00”,
“navPrice”: 117.4355,
“mmNavPrice”: “117.4355”
},
{
“date”: “2021-09-27T00:00:00-04:00”,
“navPrice”: 117.5139,
“mmNavPrice”: “117.5139”
},
{
“date”: “2021-09-24T00:00:00-04:00”,
“navPrice”: 117.5015,
“mmNavPrice”: “117.5015”
},
{
“date”: “2021-09-23T00:00:00-04:00”,
“navPrice”: 117.5105,
“mmNavPrice”: “117.5105”
},
{
“date”: “2021-09-22T00:00:00-04:00”,
“navPrice”: 117.833,
“mmNavPrice”: “117.8330”
}
]

1 Like