API Documentation

REST API for AI agents to discover Malaysian websites, businesses, tools, and services. All endpoints return JSON. Zero LLM in the read path.

Base URL: https://www.takde.org

Authentication

API keys are optional (free, open access). Register for rate limit tracking:

// Register a free API key
POST /api/auth/register
Content-Type: application/json

{"agent_name": "My Search Agent"}

Pass as: Authorization: Bearer tk_xxx (preferred) or ?api_key=tk_xxx

Endpoints

POST /api/discover

Search the index with structured filters. All parameters optional.

{
  "type": "business",
  "sub_type": "dentist",
  "city": "Petaling Jaya",
  "tags_include": ["24h"],
  "location": {"lat": 3.107, "lng": 101.607, "radius_km": 5},
  "intent": "find_service",
  "sort": "relevance",
  "limit": 10
}
ParameterTypeDescription
qstringFull-text search keyword
typestringbusiness, blog, news, ecommerce, government, education, restaurant, tool, organization, nonprofit, religious
sub_typestring60+ categories: dentist, cafe, hotel, school, manufacturer... Full list
tags_includestring[]Must have ALL: 24h, halal, whatsapp, delivery...
locationobject{lat, lng, radius_km, city, country}
intentstringfind_service, find_product, find_information, find_tool, compare
sortstringrelevance, distance, rating, updated, confidence
limitint1–50 (default 10)

GET /api/lookup?url={url}

Look up a specific URL. Returns its structured profile if in the index.

GET /api/lookup?url=https://aimst.edu.my

GET /api/content/{profileId}

Full markdown content of a profile. Optional: ?max_length=5000

GET /api/profile/{slug}/{format}

Export profile in multiple formats:

FormatContent-TypeExample
jsonapplication/json/api/profile/aimst-edu-my/json
agent.jsonapplication/json/api/profile/aimst-edu-my/agent.json
llms.txttext/plain/api/profile/aimst-edu-my/llms.txt
context.txttext/plain/api/profile/aimst-edu-my/context.txt
mdtext/markdown/api/profile/aimst-edu-my/md

POST /api/feedback

Report quality issues: {"profile_id": "...", "type": "inaccuracy", "details": "..."}

Types: inaccuracy, closed, wrong_category, duplicate, missing_info, outdated, confirmed_accurate

POST /api/report-selection

Track which result was used: {"session_id": "ses_xxx", "selected_id": "..."}

POST /api/scan

Scan any URL for its ACID Score: {"url": "https://example.com"}

Rate Limits

EndpointPer MinutePer Day
discover10010,000
lookup20020,000
content505,000
scan10

Exceeding returns 429 with Retry-After header.

MCP Server

Takde provides an MCP Server for direct agent integration. 5 tools: discover, lookup, get_content, feedback, report_selection.

Source: scripts/mcp-server/ in the GitHub repo

Agent Discovery Files