Comment on page


In TypeScript, we'll be using the fetch API to send HTTP requests. Here's how you can use the book search API with TypeScript:
First, define an interface for the book data:
interface Book {
title: string;
author: string;
Next, write the searchBook function using async/await:
async function searchBook(query: string): Promise<Book[]> {
const url = '';
const options: RequestInit = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.PROMPTJOY_API_KEY
body: JSON.stringify({ query })
const response = await fetch(url, options);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
const data: Book[] = await response.json();
return data;
You can call this function with the search term as follows:
.then(data => console.log(data))
.catch(error => console.log('There was an error!', error));
This example uses the Fetch API, which returns Promises. If you're not familiar with Promises or async/await syntax, you might want to read up on those.
Remember to handle exceptions and errors as needed in your actual application code.
Note: In this example, the API key is retrieved from environment variables for security reasons. Ensure that you've set the PROMPTJOY_API_KEY environment variable in your environment where this code will be executed. If you're running this in a browser, you'll need to set this in some secure way, as exposing your API key in the client-side JavaScript code is not recommended.