{"id":21019,"library":"caliph-api","title":"caliph-api","description":"Version 1.0.1. Unmaintained Node.js library offering a collection of Indonesian-centric scrapers, downloaders, encryption utilities, and random generators. Provides easy-to-use promise-based API for services like TikTok, Instagram, YouTube, and local Indonesian data (cuaca, gempa, artinama). Released primarily for personal use; no active updates or community maintenance. Known for combining many heterogeneous APIs into a single package without consistent error handling or documentation. Alternatives include dedicated scrapers like ytdl-core, instagram-scraper, or locale-specific packages.","status":"abandoned","version":"1.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/caliphdev/caliph-api","tags":["javascript","caliph-api","api","rest-api","scraper","downloader","tools","multifunctions","scrapers"],"install":[{"cmd":"npm install caliph-api","lang":"bash","label":"npm"},{"cmd":"yarn add caliph-api","lang":"bash","label":"yarn"},{"cmd":"pnpm add caliph-api","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package only provides CommonJS module; ESM import will fail.","wrong":"import api from 'caliph-api';","symbol":"default","correct":"const api = require('caliph-api');"},{"note":"Not exported individually; must access via main object.","wrong":"api.encrypt.binary.enc('hello'); // works but no type safety","symbol":"api.encrypt.binary.enc","correct":"api.encrypt.binary.enc('hello');"},{"note":"All API methods return Promises.","wrong":"api.info.gempa(); // returns promise, must be awaited","symbol":"api.info.gempa","correct":"api.info.gempa().then(console.log);"}],"quickstart":{"code":"const api = require('caliph-api');\n\nasync function main() {\n  try {\n    const gempa = await api.info.gempa();\n    console.log(gempa);\n    const binaryEncoded = api.encrypt.binary.enc('hello world');\n    console.log(binaryEncoded);\n    const binaryDecoded = api.encrypt.binary.dec(binaryEncoded);\n    console.log(binaryDecoded);\n  } catch (error) {\n    console.error(error);\n  }\n}\nmain();","lang":"javascript","description":"Demonstrates basic usage including fetching info and binary encryption."},"warnings":[{"fix":"Use dedicated libraries like ytdl-core, instagram-scraper, etc.","message":"Library is effectively unmaintained; no updates or fixes.","severity":"deprecated","affected_versions":"all"},{"fix":"Always use await or .then() on API calls.","message":"All methods return Promises; forgetting to await will cause silent failures.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Create custom .d.ts or use JSDoc.","message":"No TypeScript definitions; all types are any.","severity":"gotcha","affected_versions":"all"},{"fix":"Check GitHub issues before relying on specific features.","message":"Some endpoints (e.g., gempa) may be broken due to external API changes.","severity":"gotcha","affected_versions":"all"},{"fix":"Always pass strings.","message":"Incorrect usage of encrypt.binary.enc with non-string arguments may crash.","severity":"breaking","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.0.1':5 'activ':51 'altern':72 'api':3,31,61,91,92,95 'artinama':44 'base':30 'caliph':2,90 'caliph-api':1,89 'centric':15 'collect':11 'combin':58 'communiti':54 'consist':67 'core':79 'cuaca':42 'data':41 'dedic':74 'document':71 'download':17,97 'easi':25 'easy-to-us':24 'encrypt':18 'error':68 'gempa':43 'generat':22 'handl':69 'heterogen':60 'includ':73 'indonesian':14,40 'indonesian-centr':13 'instagram':36,81 'instagram-scrap':80 'javascript':88 'known':56 'librari':8 'like':34,76 'local':39,85 'locale-specif':84 'mainten':55 'mani':59 'multifunct':99 'node.js':7 'offer':9 'packag':65,87 'person':48 'primarili':46 'promis':29 'promise-bas':28 'provid':23 'random':21 'releas':45 'rest':94 'rest-api':93 'scraper':16,75,82,96,100 'servic':33 'singl':64 'specif':86 'tiktok':35 'tool':98 'unmaintain':6 'updat':52 'use':27,49 'util':19 'version':4 'without':66 'youtub':37 'ytdl':78 'ytdl-core':77","created_at":"2026-04-27T16:57:40.443225+00:00","updated_at":"2026-04-27T16:57:40.443225+00:00","problems":[{"fix":"Check documentation for updated method names; fallback to alternative.","cause":"Method may have been removed or renamed.","error":"TypeError: api.info.gempa is not a function"},{"fix":"Install with `npm install caliph-api` and use require, not import.","cause":"Module not installed or ESM context without proper transformation.","error":"Cannot find module 'caliph-api'"},{"fix":"Ensure all dependencies are installed; try reinstalling.","cause":"api.encrypt is undefined due to missing dependencies or broken require.","error":"UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'enc' of undefined"},{"fix":"Verify that the service is still available; consider alternative.","cause":"Underlying API endpoint is down or changed.","error":"Error: Request failed with status code 404"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":"https://caliph-api.js.org/","github":"https://github.com/caliphdev/caliph-api","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/caliph-api","openapi_spec":null,"status_page":null,"smithery":null,"categories":["http-networking","data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-26","install_tag":null}}