> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reqi.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch by ISO codes

> Lookup up to 25 countries by comma-separated ISO codes. Preserves request order and dedupes by cca2. Supports fields, offset, and limit.



## OpenAPI

````yaml https://api.reqi.dev/openapi/countries.json get /v1/countries/batch
openapi: 3.1.0
info:
  title: Countries API — Countries
  version: 1.0.0
  description: >-
    JSON country records under /v1/countries Subset of the full API contract at
    /openapi.json (31 paths).
servers:
  - url: https://api.reqi.dev
    description: API host
  - url: https://cdn.reqi.dev
    description: Flag CDN
security: []
tags:
  - name: Countries
    description: JSON country records under /v1/countries
paths:
  /v1/countries/batch:
    get:
      tags:
        - Countries
      summary: Batch by ISO codes
      description: >-
        Lookup up to 25 countries by comma-separated ISO codes. Preserves
        request order and dedupes by cca2. Supports fields, offset, and limit.
      operationId: batchCountries
      parameters:
        - name: codes
          in: query
          required: true
          description: Comma-separated ISO alpha-2, alpha-3, or numeric codes.
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/offset'
      responses:
        '200':
          $ref: '#/components/responses/CountryList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    fields:
      name: fields
      in: query
      description: >-
        Comma-separated field list. Supports dot paths (name.common). Use * or
        omit for the full object.
      schema:
        type: string
    limit:
      name: limit
      in: query
      description: Page size from 1 to 25. Default 5.
      schema:
        type: integer
        minimum: 1
        maximum: 25
    offset:
      name: offset
      in: query
      description: Number of matches to skip. Default 0. Used when page is omitted.
      schema:
        type: integer
        minimum: 0
  responses:
    CountryList:
      description: JSON array of country objects.
      headers:
        X-List-Page:
          description: Present for numbered page mode.
          schema:
            type: string
        X-List-Pages:
          description: Present for numbered page and page=random.
          schema:
            type: string
        X-List-Seed:
          description: Present for page=random.
          schema:
            type: string
        X-List-Index:
          description: Present for page=random.
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Country'
    BadRequest:
      description: Invalid query parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: No matching country or flag asset.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Country:
      type: object
      required:
        - name
        - cca2
        - cca3
        - population
        - flags
      properties:
        name:
          $ref: '#/components/schemas/CountryName'
        tld:
          type: array
          items:
            type: string
        cca2:
          type: string
        ccn3:
          type: string
        cca3:
          type: string
        cioc:
          type: string
        independent:
          type: boolean
        status:
          type: string
        unMember:
          type: boolean
        unRegionalGroup:
          type: string
        wikidataId:
          type: string
        currencies:
          type: object
          additionalProperties: true
        capital:
          type: array
          items:
            type: string
        altSpellings:
          type: array
          items:
            type: string
        region:
          type: string
        subregion:
          type: string
        languages:
          type: object
          additionalProperties:
            type: string
        translations:
          type: object
          additionalProperties: true
        latlng:
          type: array
          items:
            type: number
        landlocked:
          type: boolean
        borders:
          type: array
          items:
            type: string
        area:
          type: number
        flag:
          type: string
        demonyms:
          type: object
          additionalProperties: true
        population:
          type: number
          nullable: true
        capitalInfo:
          type: object
          additionalProperties: true
        enrichment:
          $ref: '#/components/schemas/Enrichment'
        holidays:
          $ref: '#/components/schemas/CountryHolidays'
        maps:
          type: object
          additionalProperties: true
        fifa:
          type: string
        timezones:
          type: array
          items:
            type: string
        continents:
          type: array
          items:
            type: string
        flags:
          $ref: '#/components/schemas/FlagUrls'
    Error:
      type: object
      required:
        - message
        - status
      properties:
        message:
          type: string
        status:
          type: integer
    CountryName:
      type: object
      required:
        - common
        - official
      properties:
        common:
          type: string
        official:
          type: string
        native:
          type: object
          additionalProperties: true
    Enrichment:
      type: object
      required:
        - fetchedAt
      properties:
        fetchedAt:
          type: string
          format: date-time
        population:
          $ref: '#/components/schemas/EnrichmentPopulation'
        economics:
          $ref: '#/components/schemas/EnrichmentEconomics'
        development:
          $ref: '#/components/schemas/EnrichmentDevelopment'
        government:
          $ref: '#/components/schemas/EnrichmentGovernment'
        company:
          oneOf:
            - $ref: '#/components/schemas/EnrichmentCompany'
            - type: 'null'
        computed:
          $ref: '#/components/schemas/EnrichmentComputed'
    CountryHolidays:
      type: object
      required:
        - source
        - fetchedAt
        - years
        - items
      properties:
        source:
          type: string
          enum:
            - nager.date
        fetchedAt:
          type: string
          format: date-time
        years:
          type: array
          items:
            type: integer
        items:
          type: array
          items:
            $ref: '#/components/schemas/PublicHoliday'
    FlagUrls:
      type: object
      required:
        - svg
        - png
        - alt
      properties:
        svg:
          type: string
          format: uri
        png:
          type: string
          format: uri
        alt:
          type: string
    EnrichmentPopulation:
      type: object
      required:
        - value
        - source
      properties:
        value:
          type: number
        source:
          type: string
          enum:
            - wikidata
            - mledoze
        asOf:
          type: string
    EnrichmentEconomics:
      type: object
      properties:
        gdp:
          type: number
          nullable: true
        gdpPerCapita:
          type: number
          nullable: true
        gdpYear:
          type: integer
          nullable: true
    EnrichmentDevelopment:
      type: object
      properties:
        hdi:
          type: number
          nullable: true
        lifeExpectancy:
          type: number
          nullable: true
        gini:
          type: number
          nullable: true
    EnrichmentGovernment:
      type: object
      properties:
        type:
          type: string
          nullable: true
        website:
          type: string
          format: uri
          nullable: true
    EnrichmentCompany:
      type: object
      properties:
        name:
          type: string
          nullable: true
        wikidataId:
          type: string
          nullable: true
        revenue:
          type: number
          nullable: true
        profit:
          type: number
          nullable: true
        asOf:
          type: string
          nullable: true
    EnrichmentComputed:
      type: object
      properties:
        populationDensity:
          type: number
          nullable: true
        capitalPopulationShare:
          type: number
          nullable: true
    PublicHoliday:
      type: object
      required:
        - date
        - localName
        - name
      properties:
        date:
          type: string
          format: date
        localName:
          type: string
        name:
          type: string
        types:
          type: array
          items:
            type: string

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.