Public APIs you can use freely. No authentication required.
Base URL
/api/blogsGet paginated list of blog posts
Parameters
pagenumber(optional)— Page number (default: 1)tagstring(optional)— Filter by tagyearstring(optional)— Filter by yearsearchstring(optional)— Search by title, excerpt, tagsExamples
/api/blogs— Get all posts (first page)/api/blogs?page=2— Get page 2/api/blogs?tag=React— Filter posts by React tag/api/blogs?year=2024— Filter posts by year 2024/api/blogs?search=hooks— Search posts containing "hooks"/api/blogs?tag=React&year=2024&page=1— Combine multiple filtersResponse
{
"data": [
{
"slug": "react-hooks-first-look",
"title": { "vi": "...", "en": "..." },
"excerpt": { "vi": "...", "en": "..." },
"date": "2018-11-15",
"readTime": 8,
"tags": ["React", "Hooks"]
}
],
"meta": {
"page": 1,
"pageSize": 3,
"total": 10,
"totalPages": 4,
"hasMore": true
}
}/api/blogs/:slugGet a single blog post by slug
Examples
/api/blogs/react-hooks-first-look— Get post detail by slugResponse
{
"data": {
"slug": "react-hooks-first-look",
"title": { "vi": "...", "en": "..." },
"excerpt": { "vi": "...", "en": "..." },
"date": "2018-11-15",
"readTime": 8,
"tags": ["React", "Hooks"],
"content": { "vi": ["..."], "en": ["..."] }
}
}Type a command and press Enter. Try 'help' to see available commands.