zapi.
APIsPricingDocsMCP
APIsPricingDocsMCP
Sign in
zapi.
APIsPricingDocsMCP
APIsPricingDocsMCP
Sign in
Indonesia/Perpusnas
Logo Perpusnas

Perpusnas

Perpustakaan Nasional RI — Khastara digitised manuscripts and the OPAC national catalogue with full MARC records and digital content listings.

15 endpoints15 endpoints on this scraper111 calls111 calls so farupdated 27 days agoLast updated 8/30/2026, 12:49:31 AMBusy: 10+ calls so farllms.txt
Endpoints15

13/15 passing
checked 20 hours ago · daily 01:00 WIB

Article

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

GET/v1/indonesia:perpusnas/article5m cache1 paramchecking key…
Parameters
articleIdstringrequired

Article id, from the articles endpoint

·
Response
EXAMPLE
{
  "body": "<p style=\"text-align: justify\"><strong>Jakarta—</strong>Sebanyak 14 naskah kuno diusulkan untuk menjadi Ingatan Kolektif Nasional (IKON) tahun 2026.</p><p style=\"text-align: justif…",
  "title": "14 Naskah Kuno Diusulkan untuk IKON Tahun 2026",
  "recent": [
    {
      "title": "Menelusuri Jejak Perlawanan Akar Peradaban Bangsa",
      "category": {
        "name": "Pujasintara",
        "type": "NEWS",
        "isIkon": false,
        "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91"
      },
      "headline": "Pameran dengan tema “Jejak Perlawanan Akar Peradaban” ini mengangkat perjuangan masyarakat Nusantara dalam menghadapi berbagai bentuk penindasan dan mempertahankan kedaulatan, iden…",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/RCFGH2YVfELr8GinR3u6s5PVu3PIoaGpmRf2161a.jpg",
      "articleId": "7e4b4dcd-b7f1-4f90-906b-3e46f6569919",
      "createdAt": "2026-08-13T08:36:55.000000Z",
      "createdBy": "Admin Berita Lontara",
      "imageNote": "pameran"
    }
  ],
  "related": [
    {
      "title": "Membaca Ramayana di Kursus Intensif Jawa Kuno ke-5",
      "category": {
        "name": "Pujasintara",
        "type": "NEWS",
        "isIkon": false,
        "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91"
      },
      "headline": "Membaca Ramayana di Kursus Intensif Jawa Kuno ke-5",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/yaqaKF0cV2bX8on7onC5DpVr07zSRSfTwzqLYKUI.jpg",
      "articleId": "07ec14e3-2951-4cff-a144-e8ff7e055dbe",
      "createdAt": "2025-02-12T09:00:56.000000Z",
      "createdBy": "Admin Khastara",
      "imageNote": "Membaca Ramayana di Kursus Intensif Jawa Kuno ke-5"
    }
  ],
  "category": {
    "name": "Pujasintara",
    "type": "NEWS",
    "isIkon": false,
    "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91"
  },
  "headline": "Hal ini menunjukkan meningkatnya perhatian dan kesadaran masyarakat terhadap naskah kuno serta upaya untuk mengkaji, melestarikan, dan mengangkat warisan documenter dari berbagai d…",
  "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/4qoHPVEOWnxLP4dAJQMIETtLt5YPdnXskMvXh2wS.jpg",
  "provider": "perpusnas",
  "articleId": "9ac6c156-df29-422c-ae9f-ae5cf5536018",
  "createdAt": "2026-08-24T12:20:58.000000Z",
  "createdBy": "Admin Berita Lontara",
  "imageNote": "foto",
  "updatedAt": "2026-08-30T00:47:00.000000Z",
  "viewCount": 8
}

Code

Article
index.ts
// npm i zpi-sdk
import { ZpiClient } from "zpi-sdk";

const client = new ZpiClient({ apiKey: "zpi_xxxxxxxxxxxxxxxxxxxxxxxx" });

const data = await client.run("indonesia:perpusnas", "article", {
  "articleId": "9ac6c156-df29-422c-ae9f-ae5cf5536018"
});
console.log(data);
Recommended · typed errors, safe retries and bulk jobsSDK reference

Full reference

15 endpoints · plain text
GET
Article/v1/indonesia:perpusnas/article
1 param

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

articleIdstringrequired
Article id, from the articles endpoint

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/article?articleId=9ac6c156-df29-422c-ae9f-ae5cf5536018" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "body": "<p style=\"text-align: justify\"><strong>Jakarta—</strong>Sebanyak 14 naskah kuno diusulkan untuk menjadi Ingatan Kolektif Nasional (IKON) tahun 2026.</p><p style=\"text-align: justif…",
  "title": "14 Naskah Kuno Diusulkan untuk IKON Tahun 2026",
  "recent": [
    {
      "title": "Menelusuri Jejak Perlawanan Akar Peradaban Bangsa",
      "category": {
        "name": "Pujasintara",
        "type": "NEWS",
        "isIkon": false,
        "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91"
      },
      "headline": "Pameran dengan tema “Jejak Perlawanan Akar Peradaban” ini mengangkat perjuangan masyarakat Nusantara dalam menghadapi berbagai bentuk penindasan dan mempertahankan kedaulatan, iden…",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/RCFGH2YVfELr8GinR3u6s5PVu3PIoaGpmRf2161a.jpg",
      "articleId": "7e4b4dcd-b7f1-4f90-906b-3e46f6569919",
      "createdAt": "2026-08-13T08:36:55.000000Z",
      "createdBy": "Admin Berita Lontara",
      "imageNote": "pameran"
    }
  ],
  "related": [
    {
      "title": "Membaca Ramayana di Kursus Intensif Jawa Kuno ke-5",
      "category": {
        "name": "Pujasintara",
        "type": "NEWS",
        "isIkon": false,
        "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91"
      },
      "headline": "Membaca Ramayana di Kursus Intensif Jawa Kuno ke-5",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/yaqaKF0cV2bX8on7onC5DpVr07zSRSfTwzqLYKUI.jpg",
      "articleId": "07ec14e3-2951-4cff-a144-e8ff7e055dbe",
      "createdAt": "2025-02-12T09:00:56.000000Z",
      "createdBy": "Admin Khastara",
      "imageNote": "Membaca Ramayana di Kursus Intensif Jawa Kuno ke-5"
    }
  ],
  "category": {
    "name": "Pujasintara",
    "type": "NEWS",
    "isIkon": false,
    "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91"
  },
  "headline": "Hal ini menunjukkan meningkatnya perhatian dan kesadaran masyarakat terhadap naskah kuno serta upaya untuk mengkaji, melestarikan, dan mengangkat warisan documenter dari berbagai d…",
  "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/4qoHPVEOWnxLP4dAJQMIETtLt5YPdnXskMvXh2wS.jpg",
  "provider": "perpusnas",
  "articleId": "9ac6c156-df29-422c-ae9f-ae5cf5536018",
  "createdAt": "2026-08-24T12:20:58.000000Z",
  "createdBy": "Admin Berita Lontara",
  "imageNote": "foto",
  "updatedAt": "2026-08-30T00:47:00.000000Z",
  "viewCount": 8
}
GET
Articles/v1/indonesia:perpusnas/articles
2 params

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 100

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/articles?page=1&limit=10" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "body": "<p style=\"text-align: justify\"><strong>Jakarta—</strong>Sebanyak 14 naskah kuno diusulkan untuk menjadi Ingatan Kolektif Nasional (IKON) tahun 2026.</p><p style=\"text-align: justif…",
      "title": "14 Naskah Kuno Diusulkan untuk IKON Tahun 2026",
      "category": {
        "name": "Pujasintara",
        "type": "NEWS",
        "isIkon": false,
        "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91"
      },
      "headline": "Hal ini menunjukkan meningkatnya perhatian dan kesadaran masyarakat terhadap naskah kuno serta upaya untuk mengkaji, melestarikan, dan mengangkat warisan documenter dari berbagai d…",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/4qoHPVEOWnxLP4dAJQMIETtLt5YPdnXskMvXh2wS.jpg",
      "articleId": "9ac6c156-df29-422c-ae9f-ae5cf5536018",
      "createdAt": "2026-08-24T12:20:58.000000Z",
      "createdBy": "Admin Berita Lontara",
      "imageNote": "foto",
      "updatedAt": "2026-08-30T00:47:00.000000Z",
      "viewCount": 8
    }
  ],
  "limit": 3,
  "total": 118,
  "hasMore": true,
  "nextPage": 2,
  "provider": "perpusnas"
}
GET
Collection Files/v1/indonesia:perpusnas/collection-files
1 param

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

catalogIdstringrequired
INLIS catalogue id, from the collections endpoint

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/collection-files?catalogId=28639" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "count": 28,
  "items": [
    {
      "url": "http://file-opac.perpusnas.go.id/DigitalContentImgList.aspx?fn=Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001.zip&ws=Terbitan%20Berkala",
      "pages": [
        {
          "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001/files/mobile/1.jpg",
          "size": "37.46 KB"
        }
      ],
      "fileId": "170355",
      "available": true,
      "catalogId": "28639",
      "pageCount": 30,
      "totalSize": "990.24 KB",
      "uploadedAt": "2016-05-17 10:20:00",
      "contentType": "alih_media"
    }
  ],
  "provider": "perpusnas",
  "catalogId": "28639",
  "pageCount": 834
}
GET
Collection Stats/v1/indonesia:perpusnas/collection-stats
0 params

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

This endpoint takes no parameters.

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/collection-stats" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "total": 34759,
  "authors": [
    {
      "count": 2557,
      "value": "Perpustakaan Nasional"
    },
    {
      "count": 1794,
      "value": "Yayasan Idayu"
    },
    {
      "count": 261,
      "value": "Madrais Sadewa Alibassa Kusuma Wijayaningrat,"
    }
  ],
  "scripts": [
    {
      "count": 2364,
      "value": "Aksara Arab"
    },
    {
      "count": 2030,
      "value": "Aksara Jawa"
    },
    {
      "count": 1266,
      "value": "Aksara Latin"
    }
  ],
  "provider": "perpusnas",
  "subjects": [
    {
      "count": 2413,
      "value": "Manuskrip Jawa"
    },
    {
      "count": 1800,
      "value": "Kesusastraan Jawa"
    },
    {
      "count": 1598,
      "value": "Manuskrip"
    }
  ],
  "languages": [
    {
      "count": 15130,
      "value": "Indonesia"
    },
    {
      "count": 3878,
      "value": "Jawa"
    },
    {
      "count": 3089,
      "value": "Tidak tersedia"
    }
  ],
  "materialTypes": [
    {
      "count": 14592,
      "value": "Manuskrip"
    },
    {
      "count": 11842,
      "value": "Bahan Campuran"
    },
    {
      "count": 3372,
      "value": "Monograf"
    }
  ],
  "digitalContentByMaterialType": [
    {
      "materialType": "Rekaman Suara",
      "collectionCount": 100,
      "digitalContentCount": 1070
    },
    {
      "materialType": "Sumber Elektronik Berkala",
      "collectionCount": 2,
      "digitalContentCount": 599
    },
    {
      "materialType": "Manuskrip",
      "collectionCount": 14592,
      "digitalContentCount": 27371
    }
  ]
}
GET
Collection Types/v1/indonesia:perpusnas/collection-types
0 params

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

This endpoint takes no parameters.

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/collection-types" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "count": 6,
  "items": [
    {
      "param": "Audio",
      "title": "Audio",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/collection_type/pE9PzAIn8YjGpaBnF3ZOwrfTlHpY9NTyugsAXSev.png",
      "isCarousel": true,
      "description": "Audio",
      "materialType": "Rekaman Suara",
      "collectionCount": 100,
      "collectionTypeId": "09cd65bd-fccc-4ae2-b5ac-f750e6580144",
      "digitalContentCount": 1070
    },
    {
      "param": "Buku++Langka",
      "title": "Buku  Langka",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/collection_type/Xe0wDjA4dyc5ZBLcNMlEjvsSrZP1eJ3C4brxRbSy.jpg",
      "isCarousel": false,
      "description": "Buku  Langka",
      "materialType": "Monograf",
      "collectionCount": 3372,
      "collectionTypeId": "1fe192a0-e437-426f-b863-db92daa2064f",
      "digitalContentCount": 5299
    },
    {
      "param": "Foto+dan+Gambar+Lukisan",
      "title": "Foto, Gambar dan Lukisan",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/collection_type/K95YwSPYFs8j3jzbNXrAIIqHYkKgkGy24YzAaCKC.png",
      "isCarousel": true,
      "description": "Foto, Gambar dan Lukisan",
      "materialType": "Bahan Campuran",
      "collectionCount": 11842,
      "collectionTypeId": "48570f08-9b30-4341-90be-32750bf75d2b",
      "digitalContentCount": 11716
    }
  ],
  "provider": "perpusnas",
  "totalCollections": 32836,
  "totalDigitalContents": 1144120
}
GET
Collection/v1/indonesia:perpusnas/collection
1 param

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

catalogIdstringrequired
INLIS catalogue id, from the collections endpoint

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/collection?catalogId=28639" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "marc": [
    {
      "tag": "001",
      "value": "INLIS000000000524977",
      "sequence": "1",
      "indicator1": "",
      "indicator2": ""
    }
  ],
  "bibId": "0010-70412360",
  "title": "Bijvoegsel tot het staatsblad van het konikrijk der Nederlanden 1867",
  "coverUrl": "http://file-opac.perpusnas.go.id/uploaded_files/sampul_koleksi/original/Terbitan Berkala/28639.jpg",
  "provider": "perpusnas",
  "abstracts": [
    "Isi belum tersedia dan sedang dikembangkan"
  ],
  "catalogId": "28639",
  "createdAt": "3/8/2012 12:00:00 AM",
  "languages": [
    "Belanda"
  ],
  "publisher": "J. Noordoyn en Zoon,",
  "updatedAt": "12/30/2016 7:35:47 AM",
  "viewCount": 2961,
  "callNumber": "Z : 19",
  "marcSummary": {
    "bibId": [
      "0010-70412360"
    ],
    "notes": [
      "Tersedia dalam bentuk online"
    ],
    "title": [
      "Bijvoegsel tot het staatsblad van het konikrijk der Nederlanden 1867"
    ],
    "language": [
      "Belanda"
    ],
    "createdAt": [
      "3/8/2012 12:00:00 AM"
    ],
    "callNumber": [
      "Z : 19"
    ],
    "onlineAccessUrl": [
      "http://192.168.0.143/inlisnew/KatalogAdd.aspx?edit=1&id=28639"
    ],
    "physicalDescription": [
      "Vol. ; 33 cm."
    ]
  },
  "publishYear": "1868",
  "languageCode": "dut",
  "materialType": "Terbitan Berkala",
  "controlNumber": "INLIS000000000524977",
  "downloadCount": 0,
  "marcFieldCount": 17,
  "publishLocation": "Gorinchem :",
  "digitalContentCount": 28,
  "physicalDescription": "Vol. ; 33 cm."
}
GET
Collections/v1/indonesia:perpusnas/collections
6 params

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

titlestringoptional
Title words to search. A server-side scan, ~4.7s
authorstringoptional
Author name to search. A server-side scan, ~4.7s
subjectstringoptional
Subject heading to search. A server-side scan, ~4.7s
publishYearstringoptional
Year of publication to search. A server-side scan, ~4.7s
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 100

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/collections?title=naskah&author=Ranggawarsita&subject=Manuskrip+Jawa&publishYear=1867&page=1&limit=10" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 0,
  "items": [],
  "limit": 3,
  "title": "naskah",
  "total": 0,
  "author": "Ranggawarsita",
  "hasMore": false,
  "subject": "Manuskrip Jawa",
  "nextPage": null,
  "provider": "perpusnas",
  "publishYear": "1867"
}
GET
Lookups/v1/indonesia:perpusnas/lookups
1 param

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

typeenumoptional
Vocabulary to return. Default all Values: script, language, position.

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/lookups?type=script" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "type": "script",
  "count": 32,
  "items": [
    {
      "name": "Rencong",
      "type": "script",
      "lookupId": "08a9ee7b-25a8-4193-abd1-ad820504e1b6",
      "sequence": 28,
      "createdAt": "2025-02-07T16:47:26.000000Z"
    },
    {
      "name": "Batak Simalungung",
      "type": "script",
      "lookupId": "0e1dde77-85cd-4b1b-9041-2ffab770f2e4",
      "sequence": 8,
      "createdAt": "2025-02-07T16:47:26.000000Z"
    },
    {
      "name": "Serang",
      "type": "script",
      "lookupId": "108a9aa0-60ce-4921-a659-be498a46cba5",
      "sequence": 29,
      "createdAt": "2025-02-07T16:47:26.000000Z"
    }
  ],
  "provider": "perpusnas"
}
GET
Media Types/v1/indonesia:perpusnas/media-types
1 param

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

typestringoptional
Media type code to filter on, such as COVER. Default all

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/media-types?type=COVER" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "type": "COVER",
  "count": 10,
  "items": [
    {
      "name": "Tanpa Sampul",
      "type": "COVER",
      "mediaId": "150f22af-f156-4d77-84c1-b7321fd49c85",
      "isActive": true,
      "createdAt": "2025-09-15T05:26:43.000000Z",
      "updatedAt": "2025-09-15T05:26:43.000000Z"
    },
    {
      "name": "Kayu",
      "type": "COVER",
      "mediaId": "cf8692ca-8dd1-44d8-a008-eb97cac5cee6",
      "isActive": true,
      "createdAt": "2024-12-22T06:16:12.000000Z",
      "updatedAt": "2024-12-22T06:16:12.000000Z"
    },
    {
      "name": "Media Lainnya",
      "type": "COVER",
      "mediaId": "e6cc2aa8-d9f8-40df-96c7-70c3e8e1224b",
      "isActive": true,
      "createdAt": "2024-12-22T06:16:12.000000Z",
      "updatedAt": "2024-12-22T06:16:12.000000Z"
    }
  ],
  "provider": "perpusnas"
}
GET
Opac Detail/v1/indonesia:perpusnas/opac-detail
1 param

Perpusnas OPAC catalogue record (INLIS / ASP.NET WebForms).

Parameters

recordIdstringrequired
OPAC record id, from opac-search

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/opac-detail?recordId=406054" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=406054",
  "isbn": "979-453-682-2",
  "marc": [
    {
      "tag": "LEADER",
      "value": "01015cam a2200325 a 4500"
    },
    {
      "tag": "001",
      "value": "INLIS000000000133719"
    },
    {
      "tag": "005",
      "value": "20230920073255.0"
    },
    {
      "tag": "006",
      "value": "aa###d#b####00000#"
    },
    {
      "tag": "007",
      "value": "ta"
    },
    {
      "tag": "008",
      "value": "090314s1994####jkia###d#b####00000#ind##"
    },
    {
      "tag": "020",
      "value": "$a 979-453-682-2",
      "indicator1": "#",
      "indicator2": "#"
    },
    {
      "tag": "035",
      "value": "$a 0010-33741560",
      "indicator1": "#",
      "indicator2": "#"
    }
  ],
  "notes": [
    "Yang diterima : jil. 1 untuk kelas 1 SMU",
    "Dikembangkan dan disesuaikan dengan kurikulum SMU/GBPP 1994"
  ],
  "title": "Sejarah",
  "leader": "01015cam a2200325 a 4500",
  "subject": "Sejarah",
  "provider": "perpusnas",
  "recordId": "406054",
  "publisher": "Yudhistira",
  "callNumber": "CB-D.10 1994-003442",
  "contentType": "rdacontent",
  "deweyNumber": "900",
  "publication": "Jakarta",
  "publishYear": "1994",
  "publishPlace": "Jakarta",
  "controlNumber": "INLIS000000000133719",
  "marcFieldCount": 26,
  "bibliographyNotes": "Termasuk bibliografi",
  "physicalDescription": "... jil.",
  "corporateContributor": "Indonesia.",
  "statementOfResponsibility": "Ttim Sejarah"
}
GET
Opac Search/v1/indonesia:perpusnas/opac-search
5 params

Perpusnas OPAC catalogue search (INLIS / ASP.NET WebForms).

Parameters

querystringrequired
Search terms
fieldenumoptional
Field to search. Default title Values: title, author, subject, publisher, publishYear, callNumber, bibId, isbn, itemId.
matchenumoptional
Match mode. Default default Values: default, startsWith, endsWith, anyWord, exact.
materialTypeenumoptional
Material type filter. Default all Values: all, monograph, film, cartographic, video, music, mixed, audio, microform, manuscript, serial, braille, graphic, electronic, serialMicroform, serialElectronic, ephemera.
pagenumberoptional
Page number, 10 records per page. Default 1

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/opac-search?query=sejarah&field=title&match=default&materialType=all&page=1" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 10,
  "field": "title",
  "items": [
    {
      "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=406054",
      "title": "Sejarah / Ttim Sejarah",
      "authors": [
        "Indonesia. Direktorat Jenderal Industri Logam, Mesin dan Kimia"
      ],
      "coverUrl": "https://opac.perpusnas.go.id/uploaded_files/sampul_koleksi/original/Monograf/406054.jpg",
      "recordId": "406054",
      "callNumber": "CB-D.10 1994-003442",
      "publication": "Yudhistira,",
      "materialType": "Monograf",
      "digitalContent": "Tidak Tersedia"
    },
    {
      "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=889083",
      "title": "Sejarah : jurnal jabatan sejarah",
      "authors": [
        "Universitas Kebangsaan Malaysia"
      ],
      "coverUrl": null,
      "recordId": "889083",
      "callNumber": "G : 2147 NO. 7 1999 Lebih banyak ▼",
      "publication": "Universitas Kebangsaan Malaysia,",
      "materialType": "Terbitan Berkala",
      "digitalContent": "Tidak Tersedia"
    }
  ],
  "limit": 10,
  "match": "default",
  "query": "sejarah",
  "total": null,
  "hasMore": true,
  "nextPage": 2,
  "provider": "perpusnas",
  "materialType": "all"
}
GET
Provinces/v1/indonesia:perpusnas/provinces
0 params

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

This endpoint takes no parameters.

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/provinces" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "count": 38,
  "items": [
    {
      "name": "Jawa Barat",
      "provinceId": "db120fe4-496a-4833-a815-52114f816f4d"
    },
    {
      "name": "Bengkulu",
      "provinceId": "ac1ac1c5-cee5-4737-9519-b61561e6c374"
    },
    {
      "name": "Jawa Timur",
      "provinceId": "addd87c5-46c6-4220-94e3-c819d2c170f0"
    },
    {
      "name": "Bali",
      "provinceId": "b824b62c-1d3e-4fe5-be60-5a1c05b68e1d"
    },
    {
      "name": "Kepulauan Riau",
      "provinceId": "c1a8005b-a5e0-453f-ad1e-799a7df6cce6"
    },
    {
      "name": "Sulawesi Tenggara",
      "provinceId": "c6f820ad-4a7f-4f47-8f0c-89742bd22a07"
    },
    {
      "name": "Kalimantan Barat",
      "provinceId": "ca546b20-87d2-4cfa-8962-2bd95894f795"
    },
    {
      "name": "Maluku Utara",
      "provinceId": "d513a7a5-921e-4b27-97aa-aea9e9731370"
    }
  ],
  "provider": "perpusnas"
}
GET
Regencies/v1/indonesia:perpusnas/regencies
1 param

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

provinceIdstringrequired
Province id, from the provinces endpoint

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/regencies?provinceId=db120fe4-496a-4833-a815-52114f816f4d" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "count": 27,
  "items": [
    {
      "name": "Kota Sukabumi",
      "regencyId": "9cbe156c-2ba6-4573-814b-383fc28e279c"
    },
    {
      "name": "Kabupaten Pangandaran",
      "regencyId": "fc82a8df-89b1-4528-8f64-d8b2b7458df9"
    },
    {
      "name": "Kabupaten Indramayu",
      "regencyId": "fa138156-a2b9-4886-aa05-6f9228ef9400"
    },
    {
      "name": "Kota Cimahi",
      "regencyId": "f81e0ece-a00d-44bb-9e23-71b70be5cbbb"
    },
    {
      "name": "Kabupaten Sukabumi",
      "regencyId": "f0fc8778-7806-418b-b707-a0f3ec754026"
    },
    {
      "name": "Kota Banjar",
      "regencyId": "ec994156-09ba-4429-9222-178a8b92e92b"
    },
    {
      "name": "Kabupaten Bogor",
      "regencyId": "da90c9d5-063c-4d2e-a940-318e814d7773"
    },
    {
      "name": "Kabupaten Bandung",
      "regencyId": "da3998cf-af9e-4a8d-8e7b-460ffbb25167"
    }
  ],
  "provider": "perpusnas",
  "provinceId": "db120fe4-496a-4833-a815-52114f816f4d"
}
GET
Services/v1/indonesia:perpusnas/services
0 params

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

This endpoint takes no parameters.

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/services" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "count": 9,
  "items": [
    {
      "url": "https://bintangpusnas.perpusnas.go.id/",
      "title": "BintangPusnas Edu",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/mRhDqoiuwpuVY5OqGe4GihzbbRk2WoStcsrNAwCJ.png",
      "isActive": true,
      "subtitle": "BintangPusnas Edu",
      "createdAt": "2025-01-09T03:59:52.000000Z",
      "serviceId": "c4897fe4-a4bb-46a4-8cb7-2decd0a8ce7e",
      "updatedAt": "2025-01-12T12:36:00.000000Z"
    },
    {
      "url": "https://onesearch.id",
      "title": "IOS",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/MxqJjIJvxmspj2NN8sMRAYtN6XacvjzjNEoJUSCP.png",
      "isActive": true,
      "subtitle": "Indonesia One Search by Perpusnas",
      "createdAt": "2024-12-20T15:44:11.000000Z",
      "serviceId": "14e3745f-ca6c-4bb7-9ce5-85139937fe10",
      "updatedAt": "2025-01-12T12:29:53.000000Z"
    },
    {
      "url": "https://isbn.perpusnas.go.id",
      "title": "ISBN",
      "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/WzcS5Ederofop4c9L2ek2APHRZGTx3voAxOIxxQz.png",
      "isActive": true,
      "subtitle": "International Standard Book Number",
      "createdAt": "2024-12-20T15:44:11.000000Z",
      "serviceId": "2d45d3ad-5585-407b-a420-b5ff8b0bac4f",
      "updatedAt": "2025-01-12T12:28:34.000000Z"
    }
  ],
  "provider": "perpusnas"
}
GET
Videos/v1/indonesia:perpusnas/videos
2 params

Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch

Parameters

pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 100

Request

curl -X GET "https://api.zapi.ink/v1/indonesia:perpusnas/videos?page=1&limit=10" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "url": "https://youtu.be/_C-McvS0yeU?si=YolRNGdMEjB_W2my",
      "title": "Panduan Pendaftaran Naskah Secara Langsung di Khastara",
      "videoId": "ffecc16c-e0c6-4dad-927c-691112392b4b",
      "category": {
        "name": "Panduan",
        "isIkon": false,
        "categoryId": "c7bc2484-f53b-4baf-9a48-a999a63b4cb1"
      },
      "createdAt": "2025-12-05T08:27:18.000000Z",
      "createdBy": "Vinna Setiawan",
      "updatedAt": "2025-12-05T08:27:18.000000Z",
      "viewCount": 0,
      "description": "Video panduan ini dibuat agar pemilik naskah dapat memperoleh panduan dalam mendaftarkan naskah kuno yang mudah dipahami, informatif, dan nyaman digunakan",
      "thumbnailUrl": "https://khastara-storage.perpusnas.go.id/images/video/sleVaAkSZL2g5cT6sf0IcGWT7i4W5Bwimkk9MnWV.jpg"
    }
  ],
  "limit": 3,
  "total": 22,
  "hasMore": true,
  "nextPage": 2,
  "provider": "perpusnas"
}

Related APIs

More in indonesia

Al-Qur'an Kemenag

indonesiaquran-kemenag

Official Indonesian Ministry of Religious Affairs Qur'an: 114 surah, 6,236 ayah with Arabic, kitabah, transliteration, Indonesian translation and footnotes, plus the full Kemenag tafsir (wajiz, tahlili, kosakata, munasabah, sabab nuzul).

242242 calls so far10mResponses cached for 10m
Busy: 10+ calls so far

Jadwal Sholat & Hijriah

indonesiasholat-kemenag

Indonesian prayer schedules for 517 cities sourced from the Ministry of Religious Affairs dataset, plus Hijri/Gregorian conversion and qibla direction.

188188 calls so far10mResponses cached for 10m
Busy: 10+ calls so far

Bimas Islam Kemenag

indonesiabimasislam

Directorate General of Islamic Community Guidance: sharia consultation Q&A answered by the Kemenag team, official news, and directorate profile pages.

8282 calls so far10mResponses cached for 10m
Busy: 10+ calls so far

Wilayah Indonesia

indonesiawilayah

Indonesian administrative regions — province, regency, district and village — from official government registries, with BPS and Kemendagri codes.

222222 calls so far1dResponses cached for 1d
Busy: 10+ calls so far

Cek BPOM

indonesiacek-bpom

Pencarian registrasi produk obat, kosmetik, suplemen, dan pangan pada database resmi BPOM RI.

3838 calls so far5mResponses cached for 5m
Busy: 10+ calls so far

Cek NIK

indonesiacek-nik

Decode structural information from a 16-digit Indonesian NIK identifier.

4040 calls so far5mResponses cached for 5m
Busy: 10+ calls so far
zapi.

One key, one response shape. We keep the scrapers working.

Get an API key
ProductBrowse APIsPricingDocsMCP server
DevelopersSDK on npmGitHubOpenAPI specllms.txt
SupportReport an issueDiscord
LegalTermsPrivacyCookiesAUPRefunds
© 2026 ZapiPublic web data, one API.
zapi.