links icon

Developer Resources

Use our technology in your own projects, free of charge!


RuneScript maintains a number of parsers that we use in our own bot, and make public for other developers to use in their own bots. Our parsers are all hosted on our dedicated server in Dallas, Texas. The datacenter is connected to multiple backbones by 10Gbps fibers, with Cisco Systems 10G Network and Guard DDOS Protection. Our server has a 1,000Mbps uplink to ensure the fastest loading pages and lowest latency. To further optimize the speed of our parsers, we automatically check all of the RuneScape hiscore servers every few minutes to make sure we are connecting to the fastest server available at the time. RuneScript's parsers feature a smart caching method so that when multiple lookups are made for the same hiscore info in a certain period of time the cache takes over. This allows us to serve 11% of our requests without even taking the extra step to connect to the RuneScape servers. When a RuneScape user is searched via RuneScript's parsers, we automatically record the time and statistics to be used in our Tracker Database. This public tracker database allows bots to display character's gains over time.

The following information is on the specific syntaxes of our parsers. All of our parsers can be accessed at http://rscript.org/lookup.php. You must first specify a ?type= parameter for the parser you wish to use. All parsers are free for anyone to use. These parsers may not be used for commercial applications.

  • ?type=stats - example
    Parameters: &user=<username>

    This returns the full hiscores information for a RuneScape user. Requests for this parser are cached for 15 seconds. This parser also automatically calculates the level and experience of the last skill if there is only one skill unranked on the hiscores. New skills on RuneScape are returned as "Unknown##" where ## is the skillID, however, we typically have the name of the new skill already added to the parser before release, so that the correct name is returned immediately.

    The format for the information returned is: STAT:<skill> <rank> <level> <exp>

    In the case of mini-game hiscores, it returns the information as: STAT:<minigame> <rank> <level>

    If the user does not feature on the RuneScape hiscores, the parser will return: STAT: Not Found

  • ?type=rank - example (skill) example (minigame)
    Parameters: &rank=<rank> &table=<table>

    This command returns rank lookups for the skill and rank you specify. This parser is cached for 60 seconds. The rank parameter should be the rank you wish to look up, and the table parameter should be the "skill number" of the skill you wish to look up. (All skills are assigned a number on the RS hiscores page. Overall = 0).

    The information is returned as: RANK: <rsn> RANK: <level> RANK: <exp>

    For ranking on minigame hiscores, you can append a ".1" to the mini-game ID (The ID is the table number on the RuneScape hiscores pages.) For example, to look up ranks on the Duelling table, you'd use table=0.1. (Bh=1.1, Bhr=2.1, FoG=3.1.)

    The result is returned as:
    RANK: <name>
    RANK: <level>

    If the rank doesn't exist, (ie. Summoning rank 1m at the time of this writing.) the parser will return "RANK: Not found".

  • ?type=top10 - example
    Parameters: &table=<table>

    This parser returns the top 10 ranking users in a skill. The table= parameter should be the skill ID as used on the RuneScape hiscore pages (Overall = 0). For minigame lookups, append ".1" to the minigame ID. This parser caches its results for 60 seconds.

    The information is returned as:
    TOP10: <exp> <level> <username>
    (Ten lines^)

  • ?type=players - example
    Parameters: none

    This parser returns the number of players online at that time, as well as the number of accounts that have been created. The information is returned as:
    PLAYERS: 83798
    ACCOUNTS: 208922667

  • ?type=rskb - example
    Parameters: &search=<term>

    The rskb parser searches the RuneScape knowledge base and returns the top 5 matches, as well as the number of results.
    The info is returned as:
    RESULTS: 108
    RESULT: <URL> <Article Title>

    If the session ID is included in the URL, it can be taken out with $regsubex(,/p=.+\/kbase/,kbase).

  • ?type=ge - example
    Parameters: &search= [optional:] &exact=1

    This parser searchs the RuneScape GE Database for item prices. The term to search for is specified with &search= and exact matching can be switched on with &exact=1.
    Info is returned as:
    RESULTS: <Results>
    ITEM: <P2P Boolean> <name> <Price> <Change Today>

    If the P2P boolean is "1", the item is members-only. The "Change Today" is what the fluctuation of the item in the GE in the last 24h.

  • ?type=bash & ?type=qdb - example
    Parameters: &id=<ID> (optional)

    The Bash and QDB parsers return random quotes (or specific quotes if ID is specified) from bash.org and qdb.us, respectively. The syntax for both parsers are the same. For sanity reasons, the parser will not return quotes over 4 lines.

    The result is returned as:
    INFO: #<ID> (<SCORE>)
    QUOTE: <QUOTE>

  • ?type=youtubeinfo - example
    Parameters: &id=<ID>

    The ID is the part of the youtube URL after the /watch?v=. The parser returns the following information, which should be pretty self explanatory.:

    TITLE: <TITLE>
    DURATION: <SECONDS>
    VIEWS: <VIEWS>
    RATING: <MIN_STARS> <MAX_STARS> <RATINGS> <AVG_RATING>

  • ?type=track - example (all) example (Single Skill)
    Parameters: &skill=<skill>, &user=<username>, &time=<time>[,time[,time]]

    This is the most important parser that RuneScript has to offer. With an extensive database of over 10 million stat entires, the RuneScript tracker database is the driving force behind the !track commands of many of the top RuneScape IRC bots. First, you must specify a skill with &skill=. The skill can either be a skill number or "all". Choosing "all" will list the gains for ALL skills. The &time= is the number of seconds back you want to access the stats for. So if you wanted to see the exp gains for a person in the last hour, you would use time=3600. You can also specify multiple times by doing time=time,time,time.

    When looking up "all skills", the information is returned as:
    start:<SKILL>:<FINAL EXP>
    ......
    start:<SKILL>:<FINAL EXP>
    gain:<SKILL>:<TIME>:<EXP GAIN>
    ......
    gain:<SKILL>:<TIME>:<EXP GAIN>

    The <FINAL EXP> is the amount of exp the user has after the time elapsed. The <TIME> is how far back the parser searched. If you specify a time further than the database has information for, the <TIME> will be prefixed with an asterisk (*), denoting that the <TIME> is actually the number of seconds old of the FIRST database entry for that person. <EXP GAIN> is how much experience the person gained in the <TIME>, and should be subtracted from <FINAL EXP> to find the initial exp. If a person was previously ranked on the hiscores and has dropped off, the parser will return <EXP GAIN> with a negative in front of the last seen experience for that skill. Please read this paragraph carefully to fully understand how this parser returns its information.

    For single skill returns, the parser returns info as:
    0:<FINAL EXP>
    <TIME>:<EXP GAIN>

    The method for processing this information is the same as above.

  • Skill Databases

    RuneScript has made all of our skill databases public for other developers to use. The databases can be viewed at /skills.

    PLEASE NOTE: (1) The RuneScript staff offers no support on how to use the parsers and databases above. (2) In the above parsers, PHP errors may be echoed out as PHP: <error info>. These errors typically do not affect the functionality of the parsers and can usually be safely ignored. (3) RuneScript disclaims any warranty expressed or implied on the suitability of these files for any purpose, and the reliability of their availability. These parsers may not be used for commercial applications.