Indian Institute of Technology Kharagpur Open Search API

OpenSearch 1.1 description and query operations. All parameters verified live 2026-09-01.

Operations 2

GET /open-search/description.xml Retrieve the OpenSearch 1.1 description document #
GET /open-search/discover Search the institutional repository #

Documentation

Specifications

Schemas & Data

Other Resources

🔗
Examples
https://raw.githubusercontent.com/api-evangelist/indian-institute-of-technology-kharagpur/refs/heads/main/examples/indian-institute-of-technology-kharagpur-idr-opensearch-atom.xml
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/indian-institute-of-technology-kharagpur/refs/heads/main/examples/indian-institute-of-technology-kharagpur-idr-opensearch-description.xml
🔗
Errors
https://raw.githubusercontent.com/api-evangelist/indian-institute-of-technology-kharagpur/refs/heads/main/errors/indian-institute-of-technology-kharagpur-errors.yml
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/indian-institute-of-technology-kharagpur/refs/heads/main/rules/indian-institute-of-technology-kharagpur-rules.yml
🔗
Vocabulary
https://raw.githubusercontent.com/api-evangelist/indian-institute-of-technology-kharagpur/refs/heads/main/vocabulary/indian-institute-of-technology-kharagpur-vocabulary.yml
🔗
Lifecycle
https://raw.githubusercontent.com/api-evangelist/indian-institute-of-technology-kharagpur/refs/heads/main/lifecycle/indian-institute-of-technology-kharagpur-lifecycle.yml
🔗
Conformance
https://raw.githubusercontent.com/api-evangelist/indian-institute-of-technology-kharagpur/refs/heads/main/conformance/indian-institute-of-technology-kharagpur-conformance.yml
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/indian-institute-of-technology-kharagpur/refs/heads/main/examples/indian-institute-of-technology-kharagpur-erp-cep-brochure-exchange.txt

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/indian-institute-of-technology-kharagpur-open-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

indian-institute-of-technology-kharagpur-open-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: IIT Kharagpur Institutional Digital Repository Interface…
  summary: Institution-hosted OpenSearch 1.1 query interface over the IIT Kharagpur Central Library Institutional Digital Repository (DSpace 6.0).
  description: The Institutional Digital Repository (IDR) of the Central Library, IIT Kharagpur runs DSpace 6.0 on the institute's own host www.idr.iitkgp.ac.in and was the first institutional repository among the IITs.
  version: '1.1'
  contact:
    name: IIT Kharagpur Central Library — DSpace administrator
    email: dspace-help@library.iitkgp.ac.in
    url: http://www.idr.iitkgp.ac.in/xmlui/
  license:
    name: No metadata reuse policy declared by the repository
    identifier: NONE
servers:
- url: http://www.idr.iitkgp.ac.in/xmlui
  description: IIT Kharagpur Institutional Digital Repository (DSpace 6.0) — institution-operated, unauthenticated, HTTP only (no TLS listener on this host).
tags:
- name: Open Search
  description: OpenSearch 1.1 description and query operations. All parameters verified live 2026-09-01.
paths:
  /open-search/description.xml:
    get:
      tags:
      - Open Search
      operationId: getOpenSearchDescription
      summary: Retrieve the OpenSearch 1.1 description document
      description: Returns the repository's OpenSearch description document (603 bytes, verified 2026-09-01). It carries ShortName, LongName "Central Library IIT Kharagpur", Description, InputEncoding, OutputEncoding, an example Query with searchTerms "photosynthesis", Tags "IR DSpace", Contact dspace-help@library.iitkgp.ac.in and an Image element. It does NOT declare a template, so the query endpoint below has to be discovered rather than read off the description.
      responses:
        '200':
          description: OpenSearch description document.
          content:
            application/xml:
              schema:
                type: string
                contentMediaType: application/opensearchdescription+xml
  /open-search/discover:
    get:
      tags:
      - Open Search
      operationId: discover
      summary: Search the institutional repository
      description: 'Free-text search across the repository index. Responses are always a syndication feed; `format` selects the flavour. Observed behaviour: format=atom returns application/atom+xml; format=rss, format=html, format=json and an omitted format all return text/xml carrying the same Atom document, i.e. unsupported format values fall back silently rather than erroring. A request with no `query` returns HTTP 200 and an empty feed, not a 4xx.'
      parameters:
      - name: query
        in: query
        required: false
        description: Search terms. `*` matches everything (8,162 items on 2026-09-01). Omitting it returns an empty feed with HTTP 200.
        schema:
          type: string
        example: rice
      - name: format
        in: query
        required: false
        description: Response flavour. Only `atom` changes the Content-Type (to application/atom+xml); every other value, including unsupported ones, yields text/xml with the same body.
        schema:
          type: string
          enum:
          - atom
          - rss
          - html
          default: rss
      - name: start
        in: query
        required: false
        description: 1-based offset of the first result; echoed back as opensearch:startIndex.
        schema:
          type: integer
          minimum: 1
        example: 10
      - name: rpp
        in: query
        required: false
        description: Results per page; echoed back as opensearch:itemsPerPage. Default 20 when omitted.
        schema:
          type: integer
          minimum: 1
          default: 20
        example: 3
      - name: sort_by
        in: query
        required: false
        description: Solr sort field. Verified live with dc.date.issued_dt; DSpace 6 also indexes score and dc.title_sort.
        schema:
          type: string
        example: dc.date.issued_dt
      - name: order
        in: query
        required: false
        description: Sort direction, used with sort_by.
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - name: scope
        in: query
        required: false
        description: Restrict the search to one community or collection by handle. Verified live — scope=123456789/1 narrowed the "rice" result set from 854 to 852.
        schema:
          type: string
        example: 123456789/1
      responses:
        '200':
          description: Syndication feed of matching items. Returned for every request observed, including a request with no parameters at all.
          content:
            application/atom+xml:
              schema:
                $ref: '#/components/schemas/OpenSearchFeed'
            text/xml:
              schema:
                $ref: '#/components/schemas/OpenSearchFeed'
components:
  schemas:
    Item:
      type: object
      description: One repository item, as emitted in an <entry> element.
      properties:
        title:
          type: string
          example: Development and Study of a Pneumatic Rice Polishing System
        author:
          type: object
          properties:
            name:
              type: string
              example: Chodisetti, Someswararao
        id:
          type: string
          description: Item identity. Emitted as http://127.0.0.1/xmlui/handle/123456789/NNNN — a localhost URL, not dereferenceable. The dereferenceable form is http://www.idr.iitkgp.ac.in/xmlui/handle/123456789/NNNN.
          example: http://127.0.0.1/xmlui/handle/123456789/8724
        link:
          type: string
          description: Alternate link, carrying the same misconfigured authority as id.
        published:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        summary:
          type: string
        dc:date:
          type: string
          format: date-time
    OpenSearchFeed:
      type: object
      description: Atom 1.0 feed in the http://www.w3.org/2005/Atom namespace, extended with http://a9.com/-/spec/opensearch/1.1/ and http://purl.org/dc/elements/1.1/. Shape taken from a live response, not from the OpenSearch schema.
      properties:
        title:
          type: string
          description: Always "Central Library IIT Kharagpur".
          example: Central Library IIT Kharagpur
        subtitle:
          type: string
          description: The stock DSpace subtitle string.
        id:
          type: string
          description: Feed identity. Emitted as http://127.0.0.1/xmlui because dspace.baseUrl is misconfigured on this deployment.
          example: http://127.0.0.1/xmlui
        updated:
          type: string
          format: date-time
        opensearch:totalResults:
          type: integer
          example: 854
        opensearch:itemsPerPage:
          type: integer
          example: 2
        opensearch:startIndex:
          type: integer
          example: 1
        entry:
          type: array
          items:
            $ref: '#/components/schemas/Item'