API Documentation LIVE
v3.0.4 — 1,210+ EndpointsComplete access to AI, downloaders, tools, anime, search, and more with our powerful REST API. Build powerful applications with simple HTTP requests.
Table of Contents
Authentication
All API requests require a valid apikey parameter. Include it as a query parameter for GET requests or in the request body for POST requests.
Free Test Key: gifted
To obtain your own personal API key, visit the Contact Page and request one.
Example Usage
GET Endpoints
GET endpoints return data based on query parameters. All require the apikey parameter.
GET AI Chat
Chat with an AI assistant. Send a question and get an intelligent response.
curl -X GET "https://api.giftedtech.co.ke/api/ai/ai?apikey=gifted&q=Hello"
const axios = require('axios');
const { data } = await axios.get(
"https://api.giftedtech.co.ke/api/ai/ai?apikey=gifted&q=Hello"
);
console.log(data.result);
import requests
response = requests.get(
"https://api.giftedtech.co.ke/api/ai/ai",
params={"apikey": "gifted", "q": "Hello"}
)
data = response.json()
print(data["result"])
GET Image Upscaler
Upscale an image to higher resolution using AI models.
curl -X GET "https://api.giftedtech.co.ke/api/tools/imageupscaler?apikey=gifted&url=https://example.com/image.jpg&model=2"
const axios = require('axios');
const { data } = await axios.get(
"https://api.giftedtech.co.ke/api/tools/imageupscaler?apikey=gifted&url=https://example.com/image.jpg&model=2"
);
console.log(data.result);
import requests
response = requests.get(
"https://api.giftedtech.co.ke/api/tools/imageupscaler",
params={"apikey": "gifted", "url": "https://example.com/image.jpg", "model": "2"}
)
data = response.json()
print(data["result"])
GET Ytaudio — YouTube Audio (MP3 via y2mate.nu)
Download YouTube audio as MP3 (128kbps) via y2mate.nu. Supports &stream=true to stream the file directly.
curl -X GET "https://api.giftedtech.co.ke/api/download/ytaudio?apikey=gifted&url=https://youtu.be/qF-JLqKtr2Q"
const axios = require('axios');
const { data } = await axios.get(
"https://api.giftedtech.co.ke/api/download/ytaudio?apikey=gifted&url=https://youtu.be/qF-JLqKtr2Q"
);
console.log(data.result);
import requests
response = requests.get(
"https://api.giftedtech.co.ke/api/download/ytaudio",
params={"apikey": "gifted", "url": "https://youtu.be/qF-JLqKtr2Q"}
)
data = response.json()
print(data["result"])
GET Ytvideo — YouTube Video (MP4 via y2mate.nu)
Download YouTube video as MP4 via y2mate.nu. Supports &stream=true to stream the file directly.
curl -X GET "https://api.giftedtech.co.ke/api/download/ytvideo?apikey=gifted&url=https://youtu.be/wdJrTQJh1ZQ"
const axios = require('axios');
const { data } = await axios.get(
"https://api.giftedtech.co.ke/api/download/ytvideo?apikey=gifted&url=https://youtu.be/wdJrTQJh1ZQ"
);
console.log(data.result);
import requests
response = requests.get(
"https://api.giftedtech.co.ke/api/download/ytvideo",
params={"apikey": "gifted", "url": "https://youtu.be/wdJrTQJh1ZQ"}
)
data = response.json()
print(data["result"])
GET YouTube Downloader (MP3)
Download YouTube videos as MP3 audio by providing the video URL. Supports &stream=true to stream the file directly instead of returning a JSON response with a download link.
curl -X GET "https://api.giftedtech.co.ke/api/download/ytmp3?apikey=gifted&url=https://youtube.com/watch?v=dQw4w9WgXcQ"
const axios = require('axios');
const { data } = await axios.get(
"https://api.giftedtech.co.ke/api/download/ytmp3?apikey=gifted&url=https://youtube.com/watch?v=dQw4w9WgXcQ"
);
console.log(data.result);
import requests
response = requests.get(
"https://api.giftedtech.co.ke/api/download/ytmp3",
params={"apikey": "gifted", "url": "https://youtube.com/watch?v=dQw4w9WgXcQ"}
)
data = response.json()
print(data["result"])
GET YouTube Downloaders — Stream Mode
All YouTube downloader endpoints support &stream=true to receive the file directly as a binary stream instead of a JSON response. This works on: ytaudio, ytvideo, ytmp3, ytmp4, ytmp3v2, ytmp4v2, dlmp3, dlmp4, dlmp3v2, dlmp4v2, yta, ytv, ytdl, ytdlv2, ytdown, savenowmp3, savenowmp4, savetubemp3, savetubemp4 and more.
# Stream MP3 directly to file curl -o audio.mp3 "https://api.giftedtech.co.ke/api/download/dlmp3v2?apikey=gifted&url=https://youtube.com/watch?v=dQw4w9WgXcQ&quality=128&stream=true" # Stream MP4 directly to file curl -o video.mp4 "https://api.giftedtech.co.ke/api/download/dlmp4v2?apikey=gifted&url=https://youtube.com/watch?v=dQw4w9WgXcQ&quality=720&stream=true"
const axios = require('axios');
const fs = require('fs');
const response = await axios({
method: 'GET',
url: 'https://api.giftedtech.co.ke/api/download/dlmp3v2',
params: { apikey: 'gifted', url: 'https://youtube.com/watch?v=dQw4w9WgXcQ', quality: '128', stream: 'true' },
responseType: 'stream'
});
response.data.pipe(fs.createWriteStream('audio.mp3'));
import requests
response = requests.get(
"https://api.giftedtech.co.ke/api/download/dlmp3v2",
params={"apikey": "gifted", "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "quality": "128", "stream": "true"},
stream=True
)
with open("audio.mp3", "wb") as f:
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
GET Google Search
Search Google and get structured results.
curl -X GET "https://api.giftedtech.co.ke/api/search/google?apikey=gifted&q=nodejs+tutorial"
const axios = require('axios');
const { data } = await axios.get(
"https://api.giftedtech.co.ke/api/search/google?apikey=gifted&q=nodejs+tutorial"
);
console.log(data.result);
import requests
response = requests.get(
"https://api.giftedtech.co.ke/api/search/google",
params={"apikey": "gifted", "q": "nodejs tutorial"}
)
data = response.json()
print(data["result"])
GET Anime Waifu
Get a random anime waifu image.
curl -X GET "https://api.giftedtech.co.ke/api/anime/waifu?apikey=gifted"
const axios = require('axios');
const { data } = await axios.get(
"https://api.giftedtech.co.ke/api/anime/waifu?apikey=gifted"
);
console.log(data.result);
import requests
response = requests.get(
"https://api.giftedtech.co.ke/api/anime/waifu",
params={"apikey": "gifted"}
)
data = response.json()
print(data["result"])
GET Fun Quote
Get a random inspirational or funny quote.
curl -X GET "https://api.giftedtech.co.ke/api/fun/quote?apikey=gifted"
const axios = require('axios');
const { data } = await axios.get(
"https://api.giftedtech.co.ke/api/fun/quote?apikey=gifted"
);
console.log(data.result);
import requests
response = requests.get(
"https://api.giftedtech.co.ke/api/fun/quote",
params={"apikey": "gifted"}
)
data = response.json()
print(data["result"])
POST Endpoints
POST endpoints accept data in the request body. Send JSON or multipart form data depending on the endpoint.
POST HTML Obfuscator
Obfuscate HTML code to make it harder to read or reverse-engineer.
curl -X POST "https://api.giftedtech.co.ke/api/tools/htmlobfuscate" \
-H "Content-Type: application/json" \
-d '{"apikey": "gifted", "html": "<h1>Hello World</h1>"}'
const axios = require('axios');
const { data } = await axios.post(
"https://api.giftedtech.co.ke/api/tools/htmlobfuscate",
{ apikey: "gifted", html: "<h1>Hello World</h1>" }
);
console.log(data.result);
import requests
response = requests.post(
"https://api.giftedtech.co.ke/api/tools/htmlobfuscate",
json={"apikey": "gifted", "html": "<h1>Hello World</h1>"}
)
data = response.json()
print(data["result"])
POST Carbon Code Image
Generate a beautiful code snippet image (like carbon.now.sh).
curl -X POST "https://api.giftedtech.co.ke/api/tools/carbon" \
-H "Content-Type: application/json" \
-d '{"apikey": "gifted", "code": "console.log(\"Hello World\")"}'
const axios = require('axios');
const { data } = await axios.post(
"https://api.giftedtech.co.ke/api/tools/carbon",
{ apikey: "gifted", code: "console.log('Hello World')" }
);
console.log(data.result);
import requests
response = requests.post(
"https://api.giftedtech.co.ke/api/tools/carbon",
json={"apikey": "gifted", "code": "print('Hello World')"}
)
data = response.json()
print(data["result"])
POST File Upload
Upload a file and get a permanent hosted URL. Supports images, videos, documents, and more (max 200MB).
curl -X POST "https://api.giftedtech.co.ke/api/tools/upload" \ -F "apikey=gifted" \ -F "file=@/path/to/your/file.jpg"
const axios = require('axios');
const FormData = require('form-data');
const formData = new FormData();
formData.append("apikey", "gifted");
formData.append("file", fileInput.files[0]);
const { data } = await axios.post(
"https://api.giftedtech.co.ke/api/tools/upload",
formData
);
console.log(data.result);
import requests
with open("file.jpg", "rb") as f:
response = requests.post(
"https://api.giftedtech.co.ke/api/tools/upload",
data={"apikey": "gifted"},
files={"file": f}
)
data = response.json()
print(data["result"])
Response Format
All endpoints return JSON responses with a consistent structure:
Success Response
Error Response
The result field contains the endpoint-specific data. The structure varies by endpoint — it may be a string, object, array, or URL depending on the request.
Error Handling
The API uses standard HTTP status codes. Here are the common error responses:
| Code | Meaning | Description |
|---|---|---|
| 400 | Bad Request | Missing or invalid parameters. Check that all required fields are provided. |
| 401 | Unauthorized | Invalid or missing API key. Verify your apikey parameter. |
| 429 | Rate Limited | Too many requests. Slow down and retry after a brief wait. |
| 500 | Server Error | Internal server error. Try again later or contact support. |
Rate Limits
To ensure fair usage and service stability, the API enforces rate limits on all endpoints. If you exceed the limit, you will receive a 429 status code.
- Rate limits are applied per API key
- The free test key (gifted) has a lower rate limit
- Personal API keys have higher limits — request one via the Contact Page
- If rate limited, wait a few seconds before retrying
