const fs = require("fs");
const API_KEY = process.env.KWI_API_KEY;
const BASE_URL = "https://api.keywordinsights.ai";
async function createArticle(keyword, language = "en", location = "United States", options = {}) {
const payload = {
keyword,
language_code: language,
location_name: location,
folder_id: "<your_folder_id>",
...options,
};
const response = await fetch(`${BASE_URL}/api/writer-agent/order/`, {
method: "POST",
headers: {
"X-API-Key": API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify(payload),
});
const json = await response.json();
return json.result.payload;
}
async function waitForArticle(orderId) {
while (true) {
const response = await fetch(`${BASE_URL}/api/writer-agent/order/?id=${orderId}`, {
headers: { "X-API-Key": API_KEY },
});
const json = await response.json();
const data = json.result.payload;
if (data.generated_article) {
return data;
}
console.log(`Processing... status: ${data.status || "unknown"}`);
await new Promise((r) => setTimeout(r, 30000));
}
}
// --- Run ---
(async () => {
const result = await createArticle("best project management tools for startups", "en", "United States", {
point_of_view: "Second Person (You)",
content_type: "article",
additional_insights: "Include comparisons and pricing information",
});
const orderId = result.id;
console.log(`Order created: ${orderId}`);
const article = await waitForArticle(orderId);
// Save the article
fs.writeFileSync("article.md", article.generated_article);
console.log(`Article saved (${article.generated_article.length} characters)`);
})();