Go APIdukcapil.kemendagri.go.id ↗
Retrieve full article content from Indonesia's official Dukcapil blog: title, body text, HTML, tags, category, view count, links, and featured image metadata.
What is the Go API?
The Dukcapil Blog API provides access to articles published on Indonesia's official Direktorat Jenderal Kependudukan dan Pencatatan Sipil (Dukcapil) website through a single endpoint, get_article. Each call returns 10 structured response fields including the full article body in both HTML and plain text, publication metadata, tags, embedded hyperlinks, and a view count — covering civil registry guidance, population administration policy, and related public announcements.
curl -X GET 'https://api.parse.bot/scraper/865277fc-20b3-4604-9d9d-45fbe8a86c3e/get_article?slug=ini-cara-benar-cek-nik-ktp-el-ke-dukcapil' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace dukcapil-kemendagri-go-id-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Dukcapil Blog API — fetch and inspect a single article."""
from parse_apis.dukcapil_kemendagri_go_id_api import Dukcapil, ArticleNotFound
client = Dukcapil()
# Fetch an article by its URL slug
try:
article = client.articles.get(slug="ini-cara-benar-cek-nik-ktp-el-ke-dukcapil")
except ArticleNotFound:
print("Article not found for the given slug.")
raise
# Display core metadata
print(article.title)
print("Published:", article.date_published)
print("Category:", article.category)
print("Views:", article.views)
# Walk embedded links
for link in article.links[:3]:
print(f" Link: {link.text} -> {link.url}")
# Show tags
print("Tags:", ", ".join(article.tags))
# Browse related articles
for related in article.related_articles[:3]:
print(f" Related: {related.title} ({related.date})")
print("exercised: articles.get / Link fields / RelatedArticle fields / tags")
Retrieve a single blog article by its URL slug. Returns the full article content including title, publication date, category, view count, featured image, body text (plain and HTML), embedded links, tags, and related articles listed in the sidebar. One HTTP round trip per call.
| Param | Type | Description |
|---|---|---|
| slugrequired | string | URL slug of the blog article (the last path segment of the article URL, e.g. 'ini-cara-benar-cek-nik-ktp-el-ke-dukcapil'). |
{
"type": "object",
"fields": {
"url": "Canonical URL of the article",
"tags": "Array of tag strings associated with the article",
"links": "Array of objects with 'text' and 'url' for each hyperlink in the article body",
"title": "Article headline",
"views": "Formatted view count string",
"category": "Article category label",
"body_html": "Full article body as raw HTML",
"body_text": "Full article body as plain text with newlines separating paragraphs",
"description": "Short description from Open Graph meta tag",
"image_caption": "Caption text for the featured image",
"date_published": "Publication date as displayed on the page (e.g. '01 Juli 2024')",
"featured_image": "Absolute URL of the article's featured image",
"related_articles": "Array of related article objects with 'title', 'url', and 'date'"
},
"sample": {
"data": {
"url": "https://dukcapil.kemendagri.go.id/blog/read/ini-cara-benar-cek-nik-ktp-el-ke-dukcapil",
"tags": [
"NIK",
"nomor induk kependudukan",
"Direktur PIAK Handayani Ningrum"
],
"links": [
{
"url": "http://kemendagri.lapor.go.id",
"text": "kemendagri.lapor.go.id"
}
],
"title": "Ini Cara Benar Cek NIK KTP-el ke Dukcapil",
"views": "4,859,881",
"category": "KELOLA INFORMASI",
"body_html": "<div class=\"entry-content\"><div style=\"color: blue\"><p><strong>Jakarta</strong>...</p></div></div>",
"body_text": "Jakarta\n- Baru-baru ini muncul informasi berita di laman Detikcom...",
"description": "Jakarta - Baru-baru ini muncul informasi berita di laman Detikcom tentang cara memverifikasi dan validasi Nomor Induk Kependudukan (NIK). Berita yang disebut-sebut bersumber dari situs Dukcapil Pemkab",
"image_caption": "Ilustrasi. [Foto: Google]",
"date_published": "01 Juli 2024",
"featured_image": "https://dukcapil.kemendagri.go.id/images/blog_post/cek-ektp-768x576.jpg",
"related_articles": [
{
"url": "https://dukcapil.kemendagri.go.id/blog/read/dukcapil-jemput-bola-ke-riung-419-dokumen-kependudukan-warga-terdampak-gempa-ngada-dipulihkan",
"date": "26/08/2026",
"title": "Dukcapil Jemput Bola ke Riung, 419 Dokumen Kependu..."
}
]
},
"status": "success"
}
}About the Go API
What the API Returns
The get_article endpoint retrieves a complete blog post from the Dukcapil official website by accepting a slug parameter — the final path segment of the article URL. For example, passing ini-cara-benar-cek-nik-ktp-el-ke-dukcapil returns the full article on verifying a National Identity Number (NIK). The response includes the article title, category, views (as a formatted string), description (from the Open Graph meta tag), and the url of the canonical page.
Body Content and Markup
Article content is returned in two forms: body_html delivers the raw HTML markup of the article body, suitable for rendering or further parsing, while body_text provides the same content stripped of tags with paragraph breaks preserved as newlines. The image_caption field carries the caption for the featured image when present.
Links and Tags
The links array enumerates every hyperlink found within the article body, with each entry containing a text and url property — useful for mapping cross-references within Dukcapil's content or identifying external sources cited in official guidance. The tags array lists all topic labels associated with the article, enabling categorization or filtering downstream.
The Go API is a managed, monitored endpoint for dukcapil.kemendagri.go.id — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dukcapil.kemendagri.go.id changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official dukcapil.kemendagri.go.id API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate Dukcapil guidance articles on NIK and KTP-el verification for a civil registry reference tool
- Extract
body_textfrom policy announcements to feed a question-answering system about Indonesian population administration - Monitor
viewsandcategoryfields to identify which civil registry topics receive the most public attention - Parse the
linksarray to build a cross-reference map of official government sources cited in Dukcapil articles - Collect
tagsacross multiple articles to build a taxonomy of Dukcapil's published topics for research classification - Ingest
body_htmlinto a content management system mirroring official Indonesian civil registry announcements for archival
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Dukcapil provide an official developer API for its blog content?+
What does the `get_article` endpoint require, and what does it return?+
slug string — the last path segment of the article URL. It returns the article title, url, category, views, description, image_caption, body_html, body_text, tags, and a links array. One call maps to one article; there is no batch input.