
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@factset/sdk-bookbuilder
Advanced tools
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:
For more information, please visit https://developer.factset.com/contact
npm install @factset/sdk-utils @factset/sdk-bookbuilder@1.0.0
yarn add @factset/sdk-utils @factset/sdk-bookbuilder@1.0.0
Install and activate Node.js >=18. If you're using nvm:
nvm install 18
nvm use 18
(optional) Install yarn.
[!IMPORTANT] The parameter variables defined below are just examples and may potentially contain non valid values. Please replace them with valid values.
const { ApiClient, BooksCreationApi } = require('@factset/sdk-bookbuilder');
const { ConfidentialClient } = require('@factset/sdk-utils');
const apiClient = ApiClient.instance;
// Examples for each supported authentication method are below,
// choose one that satisfies your use case.
// (Preferred) OAuth 2.0: FactSetOAuth2
// See https://github.com/FactSet/enterprise-sdk#oauth-20
// for information on how to create the app-config.json file
//
// The confidential client instance should be reused in production environments.
// See https://github.com/FactSet/enterprise-sdk-utils-typescript#authentication
// for more information on using the ConfidentialClient class
apiClient.factsetOauth2Client = new ConfidentialClient('/path/to/app-config.json');
// Basic authentication: FactSetApiKey
// See https://github.com/FactSet/enterprise-sdk#api-key
// for information how to create an API key
// const FactSetApiKey = apiClient.authentications['FactSetApiKey'];
// FactSetApiKey.username = 'USERNAME-SERIAL';
// FactSetApiKey.password = 'API-KEY';
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"]}]}; // CreateBookPostRequest |
// Call api endpoint
apiInstance.createBook(createBookPostRequest).then(
data => {
console.log('API called successfully. Returned data:');
console.log(data);
},
error => {
console.error(error);
},
);
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');
All URIs are relative to https://api.factset.com/book-builder-api/v1
Class | Method | HTTP request | Description |
---|---|---|---|
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 |
Please refer to the contributing guide.
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.
FAQs
BookBuilder client library for JavaScript
The npm package @factset/sdk-bookbuilder receives a total of 10 weekly downloads. As such, @factset/sdk-bookbuilder popularity was classified as not popular.
We found that @factset/sdk-bookbuilder demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.