Forums

Ridiculous state of API's

Quick find code: 351-352-33-65383759

Skillbert
May Member 2008

Skillbert

Posts: 392 Silver Posts by user Forum Profile RuneMetrics Profile
(Yes, another cry for support thread.)

Api's are meant to be helpful for fansites, but are currently an absolute pain to work with. Some api's just aren't thought trough, have ridiculous limitations and are just not efficient for both parties. Some small fixes would be very quick to implement and will have huge effects on the api effectiveness.

Batch lookups will greatly lower the amount of server power on both sides. It will also decrease bandwidth and transaction times which are currently often nearly an hour per day.

The GE api currently misses its target. The main problems are that a lookup by item name is unfeasible and there is an insane limit of 100 lookups into 20/min. An easy fix would be to make the category part of the item by name lookup optional and make the limit reasonable (2k+).

An additional general player info api would be very useful. This api would contain basically all data on the adventurers log.
- Styled name
- Previous name
- Member status
- Alog events
- Quest list
- Stats
- Clan
- Gender
- Enabled/disabled alog events

Summary

Critical:
- Remove ridiculous request limit on GE api.
- Allow lookup by item name on GE.
- Allow batch requests on hiscores.
- Allow batch requests on the GE prices.

Wishlist:
- Enable cors on all API's.
- Make the alog rss feed show at least 20 events.
- Player info api (Adventurers log).
- Add a json version of the hiscore api for constancy and future compatibility.

Currently fine:
- Bestiary (awesome for what I've seen)
- Single hiscore lookups (effective and quick).
- Don't ever let go of the uid's on the alog rss feed.

Api's

Hiscore:
http://hiscore.runescape.com/index_lite.ws?player=zezima
Alog rss:
http://services.runescape.com/m=adventurers-log/rssfeed?searchName=drumgun
GE:
http://services.runescape.com/m=rswiki/en/Grand_Exchange_APIs
Bestiary:
http://services.runescape.com/m=rswiki/en/Bestiary_APIs

31-May-2014 06:51:16

DieHunted
Mar Member 2023

DieHunted

Posts: 6,747 Rune Posts by user Forum Profile RuneMetrics Profile
Really amazing post I must say :) , although I might not be helpful for the answer your looking for but I do support something like this. I know I wish there was a way for Fansites to have a list of API's that is accessible and as well as making a way for all supported fansites to have access to these so they can gather the information they need from it with no trouble :) .

I do hope you get some feedback on this :) .

~DieHunted
DieHunted

31-May-2014 07:45:31 - Last edited on 31-May-2014 07:51:48 by DieHunted

Matonym

Matonym

Posts: 572 Steel Posts by user Forum Profile RuneMetrics Profile
This is super-important for us as well. I've forwarded your points to one of our developers in order to get some extra feedback from him.

There is much stuff complicating our lifes while we are trying to make lifes of RS players a lot easier :S Good API's are so crucial for us.
Head of Czecho-Slovak Community

Czecho-Slovak Forces and RskoCz - language fansites
Find me on Twitter , Reddit and Twitch as
@CSF_RS

02-Jun-2014 12:41:34

Deathslayer
Jun Member 2006

Deathslayer

Posts: 854 Gold Posts by user Forum Profile RuneMetrics Profile
My personal addition to this would be (if CORS isn't possible for configuration or security reasons), a simple requestable JSONP wrapper. So, adding "&jsonp=itemData" would wrap the entire thing in:

itemData( content... )

This way, we can load the data directly into our pages client-side, allowing for much more convenient data retrieval.


Additionally, it would be brilliant if we could get a single batch file containing the G.E.'s entire price data, either in a .csv or a .json file.

In an old fansite staff forum thread, I checked the validity of such a feature. In order to prevent a huge number of database calls, the file could be generated once per G.E. update. With the current ~4k items in the G.E., if 6 values were given:

ID, name, price, 1-day-change, 30-day-change, 90-day-change, 180-day-change

...then the entire file would be smaller than ~250kB. With JSON, this might go up to ~500kB at most. With gzip transfer compression, this could then go down to 50-100kB. That's smaller than most images on the website, and in addition, it would only require a single request, rather than 4,000 requests - massively reducing overhead. Everyone ends up benefiting.


Either of these two solutions would be brilliant for us, and most likely all other fansites.

03-Jun-2014 13:12:43

Daddy Groob
Mar Member 2010

Daddy Groob

Posts: 47 Bronze Posts by user Forum Profile RuneMetrics Profile
Deathslayer said :

Additionally, it would be brilliant if we could get a single batch file containing the G.E.'s entire price data, either in a .csv or a .json file.



Wow - I would really appreciate if this was done for us! I would find it very valuable, especially in .csv format. Thanks for suggesting it Deathslay142!

03-Jun-2014 13:58:12

Mexk
Aug
fmod Member
2006

Mexk

Forum Moderator Posts: 19,606 Opal Posts by user Forum Profile RuneMetrics Profile
Great post, Deathslay!
¸,.•
Mexk
•.,¸

Stand up for what is right, even if you stand alone
¨`'°«„¸¸„»°'
.............................
'°«„¸¸„»°'´¨

04-Jun-2014 14:45:29

Quick find code: 351-352-33-65383759 Back to Top