With the abundance of electronic resources available today, many schools and public libraries prefer to access their educational assets in one place. Federated Search Engines and other Discovery Tools allow libraries to do just that - easily browse through multiple content sources in their catalog at the same time.
The Infobase Search API provides a much needed "Communication Bridge" between our content and any Discovery Tool that our mutual customers may be using. api.infobase.com/ quickly indexes search results from our eBook Platform in a universal XML format. These customizable XML search results can then be parsed with search results from other outside sources by an Infobase Discovery Tool partner.
In this Search API Integration Guide, you will find everything you need to know to get started as an Infobase Discovery Tool partner.
Search Query
In order to utilize the API, there are certain query parameters that must be added to the URL routing:
Api.infobase.com/bsearch/accountID/vendorID/productID/searchterm/format
"bsearch" represent book search with differs from our online database API.
Account ID
This is the customer's Infobase Account ID. If you are using the API to harvest meta-data, there are specific Discovery Tool Partner Account IDs separated by Market/Region that can be provided.
Vendor ID
This is the Discovery Tool Partner ID that will be provided once a connection has been established with Infobase.
Product ID
This is the Product ID for what Infobase products you would like to query. Here are the currently available product IDs:
191 | Literary Classics eBook Collection |
142 | Master Academic eBook Subscription Collection |
141 | Master Public Library eBook Subscription Collection |
139 | Mid/High School eBook Subscription Collection |
230 | Sacred Texts eBook Collection |
**To return results from all collections that you have access to, use "0" as the product ID in the search query
Search Term
This is the key word(s) you are attempting to search by. In order to get all results, please leave this blank. It is possible to do multiple word searches as well.
For example, "Dogs+AND+Cats"/"Dogs+OR+Cats"
Format
This is the desired output format you would like the results to be returned in. The available formats are:
- XML
- XML-file (this will return a file stream)
- XML-zip
- JSON
Paging:
There is now a paging mode for the API query engine that should help get around any timeout issues. You have two new parameters added to the tail of the URL, after the format command.
They are the # of Rows to return in the query and what Row to start on.
suffix to add: 0/0 in form of row/start
The search below returns 1000 rows starting at the first item and highest weight
Here an example for databases:
Api.infobase.com/bsearch/accountID/vendorID/productID/searchterm//xml/1000/0
For more results you can then change the last suffix to start further out.
Search Results
After you have submitted a search query to the API, your results will then be returned with the available meta-data for your requested records. Here are the currently included meta-data fields for the Infobase API:
Field Name |
Description |
Database |
The Infobase Platform that contains the record |
AssetType |
Asset type of the record |
TitleID |
The Infobase specific ID for the record |
ISBN | The ISBN of the Book |
Author | The author of the book |
Title |
Title name of the record |
Description |
Full text description of the record |
Source |
Source of Record |
Record URL |
Account specific access URL to the record (authentication required) |
copyrightYear | The Copyright year of the record. |
imageURL |
a link to the thumbnail image of the book |
Please note: The Account ID in the Record URL will match the Account ID provided in the original Search Query. Using a customer's correct Account ID is the only way for any authentication settings and usage statistics recording to work properly.
Sample Search
Here is an example Search Query for the term "frogs":
http://api.infobase.com/bsearch/0/0/0/frogs/xml
The Account ID and Vendor ID have been set to 0 for this example.
Once completed, the XML end result would look like this for the first record returned: