NAME

WWW::ARDB - Perl client for the ARC Raiders Database API (ardb.app)

VERSION

version 0.002

SYNOPSIS

use WWW::ARDB;

my $api = WWW::ARDB->new;

# Get all items
my $items = $api->items;
for my $item (@$items) {
    printf "%s (%s) - %s\n", $item->name, $item->rarity // 'n/a', $item->type;
}

# Get specific item with full details
my $item = $api->item('acoustic_guitar');
print $item->description;

# Get all quests
my $quests = $api->quests;

# Get specific quest
my $quest = $api->quest('picking_up_the_pieces');
print $quest->title;

# Get all ARC enemies
my $enemies = $api->arc_enemies;

# Get specific enemy with drop table
my $enemy = $api->arc_enemy('wasp');
print $enemy->name;

DESCRIPTION

WWW::ARDB provides a Perl interface to the ARC Raiders Database API at https://ardb.app.

The API provides information about items, quests, and ARC enemies from the ARC Raiders game.

Note: Per the API documentation, you should store response data using your own storage solution and refresh it periodically. This module provides caching to help with that.

ua

The LWP::UserAgent instance used for HTTP requests. Defaults to a new instance with 30 second timeout.

request

WWW::ARDB::Request instance for building HTTP requests. Defaults to a new instance.

cache

WWW::ARDB::Cache instance for caching API responses.

use_cache

Boolean. Enable response caching. Defaults to 1 (enabled).

cache_dir

Optional custom directory for cache files. If not specified, uses platform default (~/.cache/ardb on Unix, %LOCALAPPDATA%/ardb on Windows).

debug

Boolean. Enable debug output. Defaults to 0. Can also be set via $ENV{WWW_ARDB_DEBUG}.

items

my $items = $api->items;

Returns an ArrayRef of WWW::ARDB::Result::Item objects for all items.

items_raw

my $data = $api->items_raw;

Returns raw API response data structure for all items.

item

my $item = $api->item('acoustic_guitar');

Returns a single WWW::ARDB::Result::Item with complete details including breakdown and crafting information.

item_raw

my $data = $api->item_raw('acoustic_guitar');

Returns raw API response data structure for a specific item.

quests

my $quests = $api->quests;

Returns an ArrayRef of WWW::ARDB::Result::Quest objects for all quests.

quests_raw

my $data = $api->quests_raw;

Returns raw API response data structure for all quests.

quest

my $quest = $api->quest('picking_up_the_pieces');

Returns a single WWW::ARDB::Result::Quest with complete details including objectives, rewards, and required items.

quest_raw

my $data = $api->quest_raw('picking_up_the_pieces');

Returns raw API response data structure for a specific quest.

arc_enemies

my $enemies = $api->arc_enemies;

Returns an ArrayRef of WWW::ARDB::Result::ArcEnemy objects for all ARC enemies.

arc_enemies_raw

my $data = $api->arc_enemies_raw;

Returns raw API response data structure for all ARC enemies.

arc_enemy

my $enemy = $api->arc_enemy('wasp');

Returns a single WWW::ARDB::Result::ArcEnemy with complete details including drop table and related maps.

arc_enemy_raw

my $data = $api->arc_enemy_raw('wasp');

Returns raw API response data structure for a specific ARC enemy.

find_item_by_name

my $item = $api->find_item_by_name('Acoustic Guitar');

Case-insensitive search for an item by name. Returns the first matching WWW::ARDB::Result::Item or undef.

find_item_by_id

my $item = $api->find_item_by_id('acoustic_guitar');

Alias for item(). Returns WWW::ARDB::Result::Item or undef.

find_quest_by_title

my $quest = $api->find_quest_by_title('Picking Up The Pieces');

Case-insensitive search for a quest by title. Returns the first matching WWW::ARDB::Result::Quest or undef.

find_arc_enemy_by_name

my $enemy = $api->find_arc_enemy_by_name('Wasp');

Case-insensitive search for an ARC enemy by name. Returns the first matching WWW::ARDB::Result::ArcEnemy or undef.

clear_cache

$api->clear_cache('items');  # Clear specific endpoint
$api->clear_cache;           # Clear all cached data

Clear cached API responses. If $endpoint is provided, only clears cache for that endpoint (e.g., items, quests, arc-enemies).

ATTRIBUTION

Applications using data from ardb.app must include attribution as per the API documentation. Please include a disclaimer crediting ardb.app with a link back to the source.

SEE ALSO

https://ardb.app, https://ardb.app/developers/api

WWW::ARDB::Result::Item, WWW::ARDB::Result::Quest, WWW::ARDB::Result::ArcEnemy

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-www-ardb/issues.

IRC

You can reach Getty on irc.perl.org for questions and support.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <torsten@raudssus.de>

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.