API Documentation

API Documentation

Angler's Book Supply offers an API for searching the catalog of books available. This API is located at: https://www.anglersbooksupply.com/api/books/

This API is available for viewing purposes from a browser and will use the logged in user's cookie for authentication. When calling the API programatically, use the HTTP Basic Authentication as mentioned below.

Authentication

The API authentication scheme uses HTTP Basic Authentication, signed against the user's username and password.

An example of using Basic Authentication with curl:

        curl -u user:pass https://www.anglersbooksupply.com/api/books/
    

Filtering

The books can be filtered using the following filtering options:

Availability

By default, the books are filtered to show only "In print" titles. Other valid availability values are:

  • 1: In print (default)
  • 2: Out of print
  • 3: Out of stock indefinitely
  • 4: Not yet published
  • all: Any availability

Example:

        https://www.anglersbooksupply.com/api/books/?availability=1
    

Category

Books can be filtered by a category slug. The "slug" is the category name as seen on the website, converted to all lowercase, and spaces replaced with hyphens. This is keyed as the "category_id" in the API.

Example:

        https://www.anglersbooksupply.com/api/books/?category=fly-tying
    

Publisher

Books can be filtered by publisher ID. The ID can be found in the API keyed as "publisher_id".

Example:

        https://www.anglersbooksupply.com/api/books/?publisher=878175
    

ISBN & EAN

Either ISBN or EAN can be filtered to get a specific book. Both require that all dashes be stripped from the ISBN or EAN.

Example:

        https://www.anglersbooksupply.com/api/books/?isbn=0936608064
    
        https://www.anglersbooksupply.com/api/books/?ean=9780936608068
    

Last Modified

Filtering by last modified is useful if you want to programatically update your data on an interval and want a set of books since you last updated. This will only give you books modified since the provided date.

The date format is unix epoch time, the number of seconds since 00:00:00 UTC on January 1, 1970.

Example:

        https://www.anglersbooksupply.com/api/books/?last_mod_since=1713006930
    

QOH Last Modified

Just like filtering by last modified above, except targeted against the column we update when QOH is updated.

The date format is unix epoch time, the number of seconds since 00:00:00 UTC on January 1, 1970.

Example:

        https://www.anglersbooksupply.com/api/books/?qoh_last_mod_since=1713006930
    

Sorting

The books can be sorted by using the ordering query parameter. The values can either be provided without a prefix for ascending ordering, or with a "-" for descending ordering.

By best seller

By default the API sorts by bestseller descending (the top bestseller first). If this is what you want you don't need to provide the ordering parameter. If for some reason you want the worst seller first you can provide the "-" to reverse this ordering.

By last modified

If you want to change the ordering from the default, bestsellers, to last modified, use the last_mod sort option.

Example:

        https://www.anglersbooksupply.com/api/books/?ordering=-last_mod
    

By QOH last modified

This sorting will return books sorted by when the book's QOH value was last updated. This is useful to stay up to date on quantities.

Example:

        https://www.anglersbooksupply.com/api/books/?ordering=-qoh_last_mod
    

Pagination

By default the API returns results in batches of 100. The "page_size" parameter can be used to adjust the number of books per response.

Example:

        https://www.anglersbooksupply.com/api/books/?page_size=25
    

The API results include URLs for the next or previous batch of results that can be used to iterate over the batches. See the "next" and "previous" keys in the API response to paginate through the results.

Example:

        https://www.anglersbooksupply.com/api/books/?page=2
    

© 2001 - 2024 Anglers Book Supply · Contact Us · About Angler's