Developer Resources

The portal's metadata can be reused through a JSON (REST) API and an OAI-PMH interface. The metadata comes from the participating institutional repositories; full texts stay in those repositories.

REST API (JSON)

Every search and record page is also available as JSON. No key is needed; please keep to a few requests per second.

SearchGET https://netd.ac.zm/catalog.json?q=malaria
Paging&page=2&per_page=50 (10 by default; 20, 50 or 100 per page)
Filter&f[institution_ssim][]=University+of+Zambia&f[degree_level_ssim][]=Doctoral
Sort&sort=latest (also relevance, earliest, title_az, title_za)
Search a field&search_field=title (also author, supervisor, subject)
RecordGET https://netd.ac.zm/catalog/unza-123456789-9150.json
Facet valuesGET https://netd.ac.zm/catalog/facet/institution_ssim.json

Facet fields: institution_ssim, full_text_ssim, degree_level_ssim, faculty_ssim, department_ssim, discipline_ssim, degree_ssim, supervisor_ssim, subject_ssim, year_ssim. Search responses follow the JSON:API layout (data, meta.pages, links); each record's attributes include the title, authors, institution, year and links to the source record and full text.

curl -s "https://netd.ac.zm/catalog.json?q=malaria&f[degree_level_ssim][]=Doctoral&per_page=5"

OAI-PMH

Base URLhttps://netd.ac.zm/oai
ProtocolOAI-PMH 2.0; all six verbs (Identify, ListMetadataFormats, ListSets, ListIdentifiers, ListRecords, GetRecord)
Metadata formatsoai_dc (Dublin Core) and etdms (ETD-MS v1.1, for NDLTD)
SetsOne per institution (for example inst:unza) and per degree level (level:doctoral, level:masters)
DatestampsWhen the record last changed in the portal (UTC, YYYY-MM-DDThh:mm:ssZ); use from and until for incremental harvesting
Paging100 records per response, with resumption tokens valid for 24 hours
Identifiersoai:netd.ac.zm:<record id>, e.g. oai:netd.ac.zm:unza-123456789-9150
https://netd.ac.zm/oai?verb=ListRecords&metadataPrefix=etdms&set=inst:unza

Source code and contact

The portal is open source: github.com/lightonphiri/code-datalab26-netd_aggregator. Questions: datalab@unza.zm.