NestDaddy API Reference
One API key. Access to real-time web search, global news, tech news, financial news, and country-specific news. All endpoints return clean structured JSON — no scraping, no proxies.
Available APIs
Authentication
Every request must include your API key via the key query parameter or the X-API-Key request header. The same key works across all API endpoints.
# Pass API key as query parameter GET /api/v1/search?key=nd_live_xxxxxxxxxxxxxxxx&q=artificial+intelligence GET /api/v1/news/global?key=nd_live_xxxxxxxxxxxxxxxx&limit=10
# Pass API key as request header (recommended) GET /api/v1/news/tech X-API-Key: nd_live_xxxxxxxxxxxxxxxx
Quick Start
Make your first API call in under 60 seconds. Replace YOUR_API_KEY with the key from your dashboard.
# Web Search curl "https://nestdaddy.com/api/v1/search?key=YOUR_API_KEY&q=python+tutorial&limit=5"
# Global News (latest headlines) curl "https://nestdaddy.com/api/v1/news/global?key=YOUR_API_KEY&limit=10" # Tech News curl "https://nestdaddy.com/api/v1/news/tech?key=YOUR_API_KEY&limit=10" # Malaysia News curl "https://nestdaddy.com/api/v1/news/malaysia?key=YOUR_API_KEY&limit=10"
import requests API_KEY = "YOUR_API_KEY" # Search search = requests.get("https://nestdaddy.com/api/v1/search", params={ "key": API_KEY, "q": "AI news", "limit": 5 }) # News news = requests.get("https://nestdaddy.com/api/v1/news/global", params={ "key": API_KEY, "limit": 10 }) for article in news.json()["articles"]: print(article["title"], "-", article["url"])
const API_KEY = "YOUR_API_KEY"; // Search const search = await fetch( `https://nestdaddy.com/api/v1/search?key=${API_KEY}&q=latest+tech+news&limit=10` ); // News const news = await fetch( `https://nestdaddy.com/api/v1/news/tech?key=${API_KEY}&limit=10` ); const data = await news.json(); data.articles.forEach(a => console.log(a.title));
$apiKey = 'YOUR_API_KEY'; // News $url = "https://nestdaddy.com/api/v1/news/global?" . http_build_query([ 'key' => $apiKey, 'limit' => 10, ]); $data = json_decode(file_get_contents($url), true); foreach ($data['articles'] as $a) { echo $a['title'] . "\n"; }
All Endpoints
All endpoints use HTTPS GET. Parameters are passed as URL query strings.
Search API
Query NestDaddy's web index and get clean, structured JSON results — no scraping, no proxies. BM25 relevance ranking with language and date filtering.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| key | string | Required | — | Your NestDaddy API key |
| q | string | Required | — | Search query (min 2 chars) |
| limit | integer | Optional | 10 | Results to return. Min: 1, Max: 50 |
| sort | string | Optional | relevance | relevance BM25 ranking | date newest first |
| lang | string | Optional | — | ISO 639-1 code — en, ms, zh, etc. Omit for all |
Response
{
"success": true,
"api": "search",
"query": "python tutorial",
"count": 10,
"results": [
{
"title": "Python Tutorial for Beginners",
"url": "https://example.com/python-tutorial",
"snippet": "Learn Python from scratch...",
"domain": "example.com",
"language": "en",
"published_date": "2024-08-15",
"score": 18.42
}
],
"quota": { "used": 241, "limit": 30000, "remaining": 29759 }
}
News APIs
Real-time news articles from curated global sources. One endpoint per category — same parameters across all news APIs.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| key | string | Required | — | Your NestDaddy API key |
| limit | integer | Optional | 10 | Articles to return. Max: 50 |
| q | string | Optional | — | Filter articles by keyword |
| lang | string | Optional | — | Filter by language: en, ms, zh, etc. |
| sort | string | Optional | date | date newest first | relevance if query given |
Response
{
"success": true,
"api": "news_global",
"count": 10,
"articles": [
{
"title": "OpenAI Launches New Model",
"url": "https://techcrunch.com/openai-new-model",
"source": "TechCrunch",
"published": "2025-04-28T10:00:00Z",
"thumbnail": "https://example.com/image.jpg",
"summary": "OpenAI announced a new frontier model...",
"language": "en",
"category": "global"
}
],
"quota": { "used": 120, "limit": 15000, "remaining": 14880 }
}
import requests API_KEY = "YOUR_API_KEY" # Get latest tech news r = requests.get("https://nestdaddy.com/api/v1/news/tech", params={ "key": API_KEY, "limit": 10 }) for article in r.json()["articles"]: print(article["title"]) # Filter Malaysia news by keyword r2 = requests.get("https://nestdaddy.com/api/v1/news/malaysia", params={ "key": API_KEY, "q": "ekonomi", "lang": "ms" })
const API_KEY = "YOUR_API_KEY"; // Financial news const res = await fetch( `https://nestdaddy.com/api/v1/news/financial?key=${API_KEY}&limit=10` ); const { articles } = await res.json(); articles.forEach(a => console.log(a.title, a.source));
# Global news curl "https://nestdaddy.com/api/v1/news/global?key=YOUR_API_KEY&limit=5" # Singapore news curl "https://nestdaddy.com/api/v1/news/singapore?key=YOUR_API_KEY&limit=10"
Errors
All errors return a JSON body with error and message fields. Applies to all endpoints.
{
"error": "Quota exceeded",
"message": "Monthly quota of 15,000 requests reached. Upgrade your plan."
}
| HTTP Status | Error | Cause |
|---|---|---|
| 400 | Missing query | The q parameter is absent or empty (Search API) |
| 400 | Query too short | Query is less than 2 characters |
| 401 | Invalid API key | The key is missing, wrong, or deactivated |
| 401 | Quota exceeded | Monthly request quota has been reached — upgrade plan |
| 401 | Subscription inactive | Subscription is paused or expired |
| 429 | Rate limit | Too many requests per minute — slow down and retry |
| 500 | Internal error | Server-side error — contact [email protected] |
Rate Limits
Rate limits apply per API key per minute across all endpoints. Exceeding the limit returns 429 Too Many Requests.
Pricing & Monthly Quota
Each plan includes a monthly request quota returned in every API response under the quota object. Quotas reset at the start of each billing cycle.
News APIs (Global / Tech / Financial / Local)
| Plan | Monthly Calls | Rate Limit | Price |
|---|---|---|---|
| Free | 1,000 | 30 / min | $0 |
| Basic | 15,000 | 30 / min | $9.99 / mo |
| Starter | 50,000 | 60 / min | $19 / mo |
| Growth | 150,000 | 120 / min | $49 / mo |
| Pro | 500,000 | 300 / min | $99 / mo |
Country News (per country — Malaysia, Singapore, Indonesia, Thailand, Vietnam, Philippines, Korea)
| Plan | Monthly Calls | Rate Limit | Price |
|---|---|---|---|
| Free | 1,000 | 30 / min | $0 |
| Basic | 15,000 | 30 / min | $9.99 / mo |
| Starter | 50,000 | 60 / min | $24 / mo |
| Growth | 150,000 | 120 / min | $49 / mo |
| Pro | 500,000 | 300 / min | $99 / mo |
Web Search & Images API
| Plan | Monthly Calls | Rate Limit | Price |
|---|---|---|---|
| Free | 1,000 | 30 / min | $0 |
| Starter | 30,000 | 60 / min | $9.99 / mo |
| Growth | 100,000 | 120 / min | $24.99 / mo |
| Pro | 500,000 | 300 / min | $79.99 / mo |
Need more? Contact us for custom enterprise pricing.