Universal SDK for QasimDev REST API — supports Node.js (CJS/ESM), TypeScript, and Browser.
const API = require ( 'api-qasim' ) ;
const api = new API ( { apiKey : 'your-api-key' } ) ;
const result = await api . KimiAi ( { prompt : 'Hello!' } ) ;
console . log ( result ) ;
const api = new API ( {
apiKey : 'your-api-key' , // Optional. Default: qasim-dev (free)
baseURL : 'https://...' , // Optional. Default: https://api.qasimdev.dpdns.org
fullResponse : false , // Optional. Return full response object. Default: false
timeout : 45000 // Optional. Timeout in ms. Default: 45000
} ) ;
Option
Type
Default
Description
apiKey
string
qasim-dev
API key override
baseURL
string
https://api.qasimdev.dpdns.org
Base URL override
fullResponse
boolean
false
Return full response with metadata
timeout
number
45000
Request timeout in milliseconds
const API = require ( 'api-qasim' ) ;
const api = new API ( { apiKey : 'your-api-key' } ) ;
const result = await api . Weather ( { city : 'London' } ) ;
import API from 'api-qasim' ;
const api = new API ( { apiKey : 'your-api-key' } ) ;
const result = await api . Weather ( { city : 'London' } ) ;
import API , { APIConfig } from 'api-qasim' ;
const config : APIConfig = { apiKey : 'your-api-key' } ;
const api = new API ( config ) ;
const result = await api . Weather ( { city : 'London' } ) ;
< script src ="https://cdn.jsdelivr.net/npm/api-qasim@4.0.1/dist/browser/global.min.js "> </ script >
< script >
const api = new API ( { apiKey : 'qasim-dev' } ) ;
api . Weather ( { city : 'London' } ) . then ( console . log ) ;
</ script >
import API from 'https://cdn.jsdelivr.net/npm/api-qasim@4.0.1/dist/browser/index.mjs' ;
const api = new API ( { apiKey : 'your-api-key' } ) ;
File Upload (POST Endpoints)
POST endpoints (image effects) require FormData with a file.
const API = require ( 'api-qasim' ) ;
const FormData = require ( 'form-data' ) ;
const fs = require ( 'fs' ) ;
const api = new API ( { apiKey : 'your-api-key' } ) ;
const formData = new FormData ( ) ;
formData . append ( 'file' , fs . readFileSync ( 'image.jpg' ) , {
filename : 'image.jpg' ,
contentType : 'image/jpeg'
} ) ;
const result = await api . Grayscale ( formData ) ;
// result = "data:image/png;base64,..."
// Save to file
const base64Data = result . split ( ',' ) [ 1 ] ;
fs . writeFileSync ( 'output.png' , Buffer . from ( base64Data , 'base64' ) ) ;
Note: form-data is a peer dependency for Node.js file uploads. Install it with npm install form-data.
const formData = new FormData ( ) ;
formData . append ( 'file' , fileInput . files [ 0 ] ) ;
const result = await api . Grayscale ( formData ) ;
// result = { blob, url, base64, contentType }
// Display in image tag
document . querySelector ( 'img' ) . src = result . url ;
// Or download
const a = document . createElement ( 'a' ) ;
a . href = result . url ;
a . download = 'output.png' ;
a . click ( ) ;
Method
Params
Description
KimiAi({ prompt })
prompt: string
Kimi AI chat
MistralAi({ text })
text: string
Mistral AI
CodestralAi({ text, model })
text: string, model: string
Codestral (code AI)
Deepseek({ prompt })
prompt: string
DeepSeek AI
QwenAi({ text })
text: string
Qwen AI
CerebrasAi({ text })
text: string
Cerebras AI
GroqAi({ text })
text: string
Groq AI
const result = await api . KimiAi ( { prompt : 'What is the capital of France?' } ) ;
Method
Params
Description
An1Search({ query })
query: string
Search APKs on An1
An1Dl({ url })
url: string
Download APK from An1
ApkpureSearch({ query })
query: string
Search APKs on APKPure
ApkpureDl({ query })
query: string
Download APK from APKPure
AptoideSearch({ query })
query: string
Search APKs on Aptoide
AptoideDl({ url })
url: string
Download APK from Aptoide
const result = await api . ApkpureSearch ( { query : 'whatsapp' } ) ;
Method
Params
Description
Reurl({ url })
url: string
Shorten with Reurl
Itsl({ url })
url: string
Shorten with ItsSSL
Cuqin({ url })
url: string
Shorten with Cuqin
Surl({ url })
url: string
Shorten with Ssur
Vurl({ url })
url: string
Shorten with Vurl
Vgd({ url })
url: string
Shorten with V.gd
Clean({ url })
url: string
Shorten with CleanURI
Tiny({ url })
url: string
Shorten with TinyURL
Unshort({ url })
url: string
Unshorten a URL
const result = await api . Tiny ( { url : 'https://example.com/very/long/url' } ) ;
Method
Params
Description
TikTok({ url })
url: string
Download TikTok video
Instagram({ url })
url: string
Download Instagram media
Facebook({ url })
url: string
Download Facebook video
Twitter({ url })
url: string
Download Twitter/X media
Pinterest({ url })
url: string
Download Pinterest media
Reddit({ url })
url: string
Download Reddit media
Snapchat({ url })
url: string
Download Snapchat media
Threads({ url })
url: string
Download Threads media
Twitch({ url })
url: string
Download Twitch clip
Sharechat({ url })
url: string
Download Sharechat media
Snackvideo({ url })
url: string
Download Snack Video
Mediafire({ url })
url: string
Download from Mediafire
Gitclone({ url })
url: string
Clone a GitHub repo
IMDbVideo({ url })
url: string
Download IMDb video
IFunny({ url })
url: string
Download iFunny media
Getty({ url })
url: string
Download Getty image
Videezy({ url })
url: string
Download from Videezy
Vidsplay({ url })
url: string
Download from Vidsplay
WallBest({ text, page? })
text: string
Search WallBest wallpapers
WallCraft({ text })
text: string
Search WallCraft wallpapers
WallHaven({ query?, sorting?, page?, purity?, categories? })
—
Search Wallhaven
Wikimedia({ title })
title: string
Get Wikimedia images
const result = await api . TikTok ( { url : 'https://www.tiktok.com/@user/video/123' } ) ;
Method
Params
Description
TextToPic({ text })
text: string
Convert text to image
Quoted({ text, name, profile })
—
Generate quote card
Carbon({ code, bg? })
code: string
Generate Carbon code image
const result = await api . Carbon ( { code : 'console.log("hello")' , bg : '#1e1e2e' } ) ;
Method
Params
Description
Spotify({ url })
url: string
Download Spotify track
SearchScloud({ q, limit? })
q: string
Search SoundCloud
ScloudDl({ url })
url: string
Download SoundCloud track
GeniusSearch({ query })
query: string
Search Genius lyrics
GeniusLyrics({ url })
url: string
Get lyrics from Genius
DeezerSearch({ track?, artist?, album? })
—
Search Deezer
DeezerDl({ id })
id: string
Download Deezer track
JamendoSearch({ query, type?, limit? })
query: string
Search Jamendo
JamendoTracks({ artist_name, limit?, type? })
artist_name: string
Get Jamendo tracks
const result = await api . GeniusSearch ( { query : 'Bohemian Rhapsody' } ) ;
Method
Description
Couple()
Random couple wallpaper
Islamic()
Random Islamic image
Tech()
Random tech image
Game()
Random gaming image
Mountain()
Random mountain image
CyberSpace()
Random cyberspace image
Coding()
Random coding image
Coffee()
Random coffee image
const result = await api . Islamic ( ) ;
Method
Params
Description
GoogleNews({ query? })
query?: string
Google News
Bbc()
—
BBC News
Cnn()
—
CNN News
Aljazeera()
—
Al Jazeera News
Sky()
—
Sky News
SkySports({ sport })
sport: string
Sky Sports News
Trt()
—
TRT World News
Dawn()
—
Dawn News
Cgtn()
—
CGTN World News
GeoUrdu()
—
Geo Urdu News
Geo()
—
Geo News
Neo()
—
Neo News
Express()
—
Express News
const result = await api . GoogleNews ( { query : 'technology' } ) ;
const headlines = await api . Bbc ( ) ;
Method
Params
Description
GithubUser({ username })
username: string
GitHub profile info
TiktokUser({ username })
username: string
TikTok profile info
PinterestUser({ username })
username: string
Pinterest profile info
TelegramUser({ username })
username: string
Telegram profile info
ThreadsUser({ username })
username: string
Threads profile info
RedditUser({ username })
username: string
Reddit profile info
ScloudUser({ username })
username: string
SoundCloud profile info
DribbbleUser({ username })
username: string
Dribbble profile info
MastodonUser({ username, instance? })
username: string
Mastodon profile info
const result = await api . GithubUser ( { username : 'torvalds' } ) ;
Method
Params
Description
BingSearch({ query })
query: string
Bing web search
BingImage({ query })
query: string
Bing image search
GoogleImage({ query })
query: string
Google image search
ImgurSearch({ query })
query: string
Imgur search
FlickrImage({ query })
query: string
Flickr image search
YTSearch({ query, limit? })
query: string
YouTube search
ImdbSearch({ query })
query: string
IMDb search
PinSearch({ query })
query: string
Pinterest search
Wattpad({ query })
query: string
Wattpad search
Stickers({ query, page?, limit? })
query: string
Sticker search
TimeSearch({ location })
location: string
Search time by location
const result = await api . YTSearch ( { query : 'lo-fi music' , limit : 10 } ) ;
Method
Params
Description
Screenshot({ url })
url: string
Take website screenshot
SSFull({ url, format?, fullSize? })
url: string
Full page screenshot
Translate({ text, from?, to? })
text: string
Translate via Bing
Translate2({ text, from?, to? })
text: string
Translate via Google
Dictionary({ term })
term: string
Dictionary definition
Ping({ url })
url: string
Ping a URL
Handwriting({ text })
text: string
Convert text to handwriting
TextStats({ text })
text: string
Get text statistics
UnitConvert({ from, to, value })
—
Unit conversion
const result = await api . Translate ( { text : 'Hello' , from : 'en' , to : 'ar' } ) ;
const result2 = await api . UnitConvert ( { from : 'f' , to : 'c' , value : 100 } ) ;
Method
Params
Description
Battlefield({ text1, text2 })
text1, text2: string
Battlefield style effect
TikTokEffect({ text1, text2 })
text1, text2: string
TikTok style effect
CustomPhoto({ url, text })
url, text: string
Custom Photooxy effect
Photo Effects (Ephoto360)
Method
Params
Description
WolfGalaxy({ text1, text2 })
text1, text2: string
Wolf Galaxy effect
FreeFire({ text1, text2 })
text1, text2: string
Free Fire banner
ApexLegends({ text1, text2 })
text1, text2: string
Apex Legends banner
CustomEphoto({ url, text })
url, text: string
Custom Ephoto effect
Method
Params
Description
Weather({ city })
city: string
Weather by city
Country({ name })
name: string
Country information
Wikipedia({ query })
query: string
Wikipedia summary
IPLookup({ ip })
ip: string
IP address info
Universities({ country })
country: string
Universities by country
Trends({ country })
country: string
Google Trends by country
GithubRepo({ owner, repo })
owner, repo: string
GitHub repo info
const result = await api . Weather ( { city : 'Karachi' } ) ;
const wiki = await api . Wikipedia ( { query : 'JavaScript' } ) ;
Method
Params
Description
CoinInfo({ id })
id: string
Coin info (e.g. btc-bitcoin)
CoinsList()
—
List all available coins
const result = await api . CoinInfo ( { id : 'btc-bitcoin' } ) ;
const coins = await api . CoinsList ( ) ;
All image effect methods accept a FormData object with a file field, plus optional parameters.
Node.js response: "data:image/png;base64,..."
Browser response: { blob, url, base64, contentType }
Method
Optional Params
Description
Blur(formData, { radius? })
radius: number
Blur image
Sharpen(formData, { sigma? })
sigma: number
Sharpen image
Grayscale(formData)
—
Convert to grayscale
Sepia(formData)
—
Apply sepia tone
Invert(formData)
—
Invert colors
Normalize(formData)
—
Normalize image
Brightness(formData, { value? })
value: number
Adjust brightness
Contrast(formData, { value? })
value: number
Adjust contrast
Saturation(formData, { value? })
value: number
Adjust saturation
Hue(formData, { degrees? })
degrees: number
Adjust hue
Gamma(formData, { value? })
value: number
Adjust gamma
Tint(formData, { color? })
color: string
Apply color tint
Rotate(formData, { degrees? })
degrees: number
Rotate image
Flip(formData, { horizontal?, vertical? })
—
Flip image
Resize(formData, { width?, height? })
width, height: number
Resize image
Crop(formData, { x?, y?, width?, height? })
—
Crop image
Scale(formData, { factor? })
factor: number
Scale image
Contain(formData, { width?, height? })
width, height: number
Contain in box
Cover(formData, { width?, height? })
width, height: number
Cover a box
Threshold(formData, { max? })
max: number
Apply threshold
Median(formData, { size? })
size: number
Median filter
Pixelate(formData, { size? })
size: number
Pixelate image
Gaussian(formData, { radius? })
radius: number
Gaussian blur
Opacity(formData, { value? })
value: number
Adjust opacity
Fade(formData, { value? })
value: number
Fade image
Posterize(formData, { level? })
level: number
Posterize image
Fisheye(formData, { strength? })
strength: number
Fisheye effect
Vignette(formData, { intensity? })
intensity: number
Vignette effect
Color(formData, { action?, value? })
action: string
Color adjustment
Convolute(formData)
—
Convolve/sharpen
Dither(formData)
—
Dither effect
Circle(formData)
—
Circular crop
// Node.js example
const FormData = require ( 'form-data' ) ;
const fs = require ( 'fs' ) ;
const formData = new FormData ( ) ;
formData . append ( 'file' , fs . readFileSync ( 'photo.jpg' ) , {
filename : 'photo.jpg' ,
contentType : 'image/jpeg'
} ) ;
const blurred = await api . Blur ( formData , { radius : 5 } ) ;
const base64Data = blurred . split ( ',' ) [ 1 ] ;
fs . writeFileSync ( 'blurred.png' , Buffer . from ( base64Data , 'base64' ) ) ;
By default, the SDK returns the data field from the API response. To get the full response object:
const api = new API ( { apiKey : 'your-key' , fullResponse : true } ) ;
// Returns: { success: true, data: {...}, timestamp: "..." }
You can also toggle it at runtime:
api . setFullResponse ( true ) ;
try {
const result = await api . Weather ( { city : 'London' } ) ;
console . log ( result ) ;
} catch ( error ) {
if ( error . message . includes ( '401' ) ) {
console . error ( 'Invalid API key' ) ;
} else if ( error . message . includes ( 'timeout' ) ) {
console . error ( 'Request timed out' ) ;
} else {
console . error ( 'Error:' , error . message ) ;
}
}
import API , { APIConfig , APIResponse } from 'api-qasim' ;
const config : APIConfig = {
apiKey : 'your-api-key' ,
fullResponse : false ,
timeout : 30000
} ;
const api = new API ( config ) ;
const weather = await api . Weather ( { city : 'Dubai' } ) ;
api . setAPIKey ( 'new-api-key' ) ;
api . setFullResponse ( true ) ;
api . setTimeout ( 60000 ) ;
api . getFullResponse ( ) ; // returns boolean
MIT © Qasim Ali