Perl script to fetch bookmarks from Linkding REST API ===================================================== Last edited: $Date: 2020/12/26 17:38:35 $ Linkding (https://github.com/sissbruecker/linkding) is a awesome self-hosted bookmark manager. I comes with a REST API, so you can add some fun stuff. Here follows a small Perl script that uses the API to get the bookmarks that have been tagged with a certain tag. Perl REST Client module and Perl JSON module -------------------------------------------- The script uses two Perl modules: - REST::Client: To talk to the Linkding - JSON: to decode the JSON encoded data from the Linkding REST API Small Perl script ----------------- I put the part, which queries the API, in a sub routine, so that it is easy to paste it in some Perl script. I created the Perl script on a FreeBSD machine, if you use another operating system, you probably have to adopt the she-bang line. #!/usr/local/bin/perl use strict; use warnings; use REST::Client; use JSON; # copy the token from the Settings page here: my $token = 'abcdefghijklmnopqrstuvwxyz82cd98ede63036'; # tag for which to retreive the bookmarks my $select_tag="my_special_tag"; # your Linkding host my $linkding_host='http://192.168.0.105:9090'; my $client = REST::Client->new(); $client->setHost($linkding_host); $client->addHeader ('Authorization' , "Token $token" ); &get_bookmarks( $select_tag ); sub get_bookmarks() { my $select_tag=$_[0]; # search for the tag, and override default # limit of 100 bookmark # %23 = '#' $client->GET("/api/bookmarks/?q=%23$select_tag&limit=999" ); my $response = $client->responseContent(); # sort the bookmarks from newest to oldest my @bookmarks=sort {$b->{date_modified} cmp $a->{date_modified}} @{decode_json($response)->{results}}; foreach my $bookmark (@bookmarks) { # remove newlines from title field $bookmark->{title} =~ s/[\r\n]+//g; # if a title is missing, use the URL for that if ( $bookmark->{title} eq "" ) { $bookmark->{title} = $bookmark->{url}; } # do something with the retreived bookmarks print $bookmark->{url} . "\t" . $bookmark->{title} . "\n"; } } Adopt to your needs and have fun!