Find an API

Search public APIs with auth details & Postman guides

← All APIs

Ex Libris APIs

exlibrisgroup · Company

Company No Auth Free & Open text

For more information on how to use these APIs, including how to create an API key required for authentication, see [Alma REST APIs](https://developers.exlibrisgroup.com/alma/apis).

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET Retrieve Printouts

This API returns a list of Printouts.

https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/printouts?limit=10&letter=ALL&offset=0&status=ALL&printer_id=ALL&printout_id=ALL

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/printouts?limit=10&letter=ALL&offset=0&status=ALL&printer_id=ALL&printout_id=ALL"
import requests
params = {
    "limit": "10",
    "letter": "ALL",
    "offset": "0",
    "status": "ALL",
    "printer_id": "ALL",
    "printout_id": "ALL"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/printouts",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/printouts');
url.searchParams.set('limit', '10');
url.searchParams.set('letter', 'ALL');
url.searchParams.set('offset', '0');
url.searchParams.set('status', 'ALL');
url.searchParams.set('printer_id', 'ALL');
url.searchParams.set('printout_id', 'ALL');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/printouts")
	q := baseURL.Query()
	q.Set("limit", "10")
	q.Set("letter", "ALL")
	q.Set("offset", "0")
	q.Set("status", "ALL")
	q.Set("printer_id", "ALL")
	q.Set("printout_id", "ALL")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/printouts")
uri.query = URI.encode_www_form({
  "limit" => "10",
  "letter" => "ALL",
  "offset" => "0",
  "status" => "ALL",
  "printer_id" => "ALL",
  "printout_id" => "ALL"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/printouts?" . http_build_query([
    "limit" => "10",
    "letter" => "ALL",
    "offset" => "0",
    "status" => "ALL",
    "printer_id" => "ALL",
    "printout_id" => "ALL"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get Requested Resources

This API returns a list of requested resources to be picked from the shelf in Alma

https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/requested-resources?limit=10&offset=0&library=example&printed=&location=&order_by=call_number&reported=&circ_desk=example&direction=asc&pickup_inst=

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/requested-resources?limit=10&offset=0&library=example&printed=&location=&order_by=call_number&reported=&circ_desk=example&direction=asc&pickup_inst="
import requests
params = {
    "limit": "10",
    "offset": "0",
    "library": "example",
    "printed": "",
    "location": "",
    "order_by": "call_number",
    "reported": "",
    "circ_desk": "example",
    "direction": "asc",
    "pickup_inst": ""
}
response = requests.get(
    "https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/requested-resources",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/requested-resources');
url.searchParams.set('limit', '10');
url.searchParams.set('offset', '0');
url.searchParams.set('library', 'example');
url.searchParams.set('printed', '');
url.searchParams.set('location', '');
url.searchParams.set('order_by', 'call_number');
url.searchParams.set('reported', '');
url.searchParams.set('circ_desk', 'example');
url.searchParams.set('direction', 'asc');
url.searchParams.set('pickup_inst', '');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/requested-resources")
	q := baseURL.Query()
	q.Set("limit", "10")
	q.Set("offset", "0")
	q.Set("library", "example")
	q.Set("printed", "")
	q.Set("location", "")
	q.Set("order_by", "call_number")
	q.Set("reported", "")
	q.Set("circ_desk", "example")
	q.Set("direction", "asc")
	q.Set("pickup_inst", "")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/requested-resources")
uri.query = URI.encode_www_form({
  "limit" => "10",
  "offset" => "0",
  "library" => "example",
  "printed" => "",
  "location" => "",
  "order_by" => "call_number",
  "reported" => "",
  "circ_desk" => "example",
  "direction" => "asc",
  "pickup_inst" => ""
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/requested-resources?" . http_build_query([
    "limit" => "10",
    "offset" => "0",
    "library" => "example",
    "printed" => "",
    "location" => "",
    "order_by" => "call_number",
    "reported" => "",
    "circ_desk" => "example",
    "direction" => "asc",
    "pickup_inst" => ""
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get Lending Requests

This API returns a list of lending requests in Alma

https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/rs/lending-requests?status=&library=&partner=&printed=&reported=&supplied_format=&requested_format=

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/rs/lending-requests?status=&library=&partner=&printed=&reported=&supplied_format=&requested_format="
import requests
params = {
    "status": "",
    "library": "",
    "partner": "",
    "printed": "",
    "reported": "",
    "supplied_format": "",
    "requested_format": ""
}
response = requests.get(
    "https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/rs/lending-requests",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/rs/lending-requests');
url.searchParams.set('status', '');
url.searchParams.set('library', '');
url.searchParams.set('partner', '');
url.searchParams.set('printed', '');
url.searchParams.set('reported', '');
url.searchParams.set('supplied_format', '');
url.searchParams.set('requested_format', '');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/rs/lending-requests")
	q := baseURL.Query()
	q.Set("status", "")
	q.Set("library", "")
	q.Set("partner", "")
	q.Set("printed", "")
	q.Set("reported", "")
	q.Set("supplied_format", "")
	q.Set("requested_format", "")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/rs/lending-requests")
uri.query = URI.encode_www_form({
  "status" => "",
  "library" => "",
  "partner" => "",
  "printed" => "",
  "reported" => "",
  "supplied_format" => "",
  "requested_format" => ""
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/exlibrisgroup.com/tasklists/1.0/almaws/v1/task-lists/rs/lending-requests?" . http_build_query([
    "status" => "",
    "library" => "",
    "partner" => "",
    "printed" => "",
    "reported" => "",
    "supplied_format" => "",
    "requested_format" => ""
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with Ex Libris APIs?

Ex Libris APIs is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Ex Libris APIs is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide

Open documentation ↗