
BookBuilder client library for JavaScript

The BookBuilder API is a powerful tool that combines detailed reports for companies of interest. Save time by using a single source of knowledge instead of relying on multiple APIs to create a presentation ready PDF, also known as a Public Information Book(PIB).
Consistently create books with the same content/reports for different companies by defining templates with the set of reports saved for re-use. Or, use templates that are created by FactSet for quick use.
With our powerful API endpoints, you can get the information on companies of interest quickly where and when you need it.
This TypeScript/JavaScript package is automatically generated by the OpenAPI Generator project:
- API version: 1.13.0
- SDK version: 1.0.0
- Build package: com.factset.sdk.codegen.FactSetJavascriptClientCodegen
For more information, please visit https://developer.factset.com/contact
Requirements
Installation
npm
npm install @factset/sdk-utils @factset/sdk-bookbuilder@1.0.0
yarn
yarn add @factset/sdk-utils @factset/sdk-bookbuilder@1.0.0
Usage
[!IMPORTANT]
The parameter variables defined below are just examples and may potentially contain non valid values. Please replace them with valid values.
Example Code
const { ApiClient, BooksCreationApi } = require('@factset/sdk-bookbuilder');
const { ConfidentialClient } = require('@factset/sdk-utils');
const apiClient = ApiClient.instance;
apiClient.factsetOauth2Client = new ConfidentialClient('/path/to/app-config.json');
const apiInstance = new BooksCreationApi();
const createBookPostRequest = {"book_name":"Company Book for FDS","ticker":"FDS-US","pagination":{"cover":true,"divider":true,"toc":true,"footer":true,"timestamp":false},"content":[{"section_id":"COMPANY_OVERVIEW","reports":["COMPANY_SNAPSHOT_IB","COMPANY_SNAPSHOT_IM","ENTITY_STRUCTURE"]}]};
apiInstance.createBook(createBookPostRequest).then(
data => {
console.log('API called successfully. Returned data:');
console.log(data);
},
error => {
console.error(error);
},
);
Using a Proxy
To add a HTTP proxy for the API client, you can set the proxyUrl for the ApiClient instance:
const { ApiClient } = require('@factset/sdk-bookbuilder');
const apiClient = ApiClient.instance;
apiClient.setProxyUrl('http://username:password@proxy.example.com:8080');
Documentation for API Endpoints
All URIs are relative to https://api.factset.com/book-builder-api/v1
bookbuilder.BooksCreationApi | createBook | POST /create-book | Kicks off request to create a book with reports of your choice |
bookbuilder.BooksCreationApi | createBookFromTemplate | POST /create-book-from-template | Kicks off request to create a book with template |
bookbuilder.BooksCreationApi | getAvailableReports | GET /available-report/{ticker} | This endpoint retrieves all available sections and reports based on a ticker. |
bookbuilder.BooksFetchApi | downloadBook | GET /download-api-book-aws/{book_id} | Retrieves book in PDF format |
bookbuilder.BooksFetchApi | getBookList | GET /book-list | Check out the books that are in the book library |
bookbuilder.CustomDocumentsFetchApi | getCustomUploadList | GET /custom-upload-list | Check out the documents uploaded before to use them in creating books |
bookbuilder.CustomDocumentsUploadApi | uploadCustomDocument | POST /upload-custom-document | Upload a custom document |
bookbuilder.TemplatesCreationApi | createTemplate | POST /create-template | Kick off request to create template with reports of your choice |
bookbuilder.TemplatesFetchApi | getTemplateList | GET /template-list | Retrieves the list of templates that are available |
Documentation for Models
Documentation for Authorization
FactSetApiKey
- Type: HTTP basic authentication
FactSetOAuth2
- Type: OAuth
- Flow: application
- Authorization URL:
- Scopes: N/A
Contributing
Please refer to the contributing guide.
Copyright
Copyright 2025 FactSet Research Systems Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.