---
title: "Recently modified datasets"
method: GET
path: "/api/v1/hdx/recent"
tags: ["Global Economy & Trade"]
---

# Recently modified datasets

`GET /api/v1/hdx/recent`

Platform-wide feed of datasets sorted by newest `metadata_modified` first. Useful for monitoring humanitarian data updates across all contributing organizations. Backed by `package_search?q=*:*&sort=metadata_modified desc`.

## Query parameters

- `rows` integer — Page size (max 1000).
- `start` integer — Page offset for pagination.

## Response `200`

Most recently updated datasets across the HDX catalog.

- EnvelopeHdxRecentPayload
  - `data` HdxRecentPayload, required — Response payload for `/api/v1/hdx/recent`.
    - `count` integer, required — Total datasets across the catalog (matches the `*:*` query, across all pages).
    - `results` HdxPackage[], required — Datasets in the current page, sorted by newest `metadata_modified` first.
      - `id` string, nullable — Dataset UUID.
      - `name` string, nullable — Dataset slug (URL-safe).
      - `title` string, nullable — Dataset display title.
      - `notes` string, nullable — Dataset notes / long description (may contain Markdown).
      - `metadata_modified` string, nullable — Last catalog-metadata modification (ISO 8601). Sugra uses this for `data_time`.
      - `metadata_created` string, nullable — Dataset creation timestamp (ISO 8601).
      - `dataset_date` string, nullable — Author-declared dataset reference period (free-form string).
      - `data_update_frequency` string, nullable — Author-declared update frequency in days (e.g. `365`=annual, `30`=monthly, `-1`=one-off).
      - `state` string, nullable — Dataset state on upstream (active / deleted).
      - `type` string, nullable — CKAN type (e.g. `dataset`).
      - `private` boolean, nullable — True if the dataset is private on upstream.
      - `license_id` string, nullable — License identifier as assigned by the publisher.
      - `license_title` string, nullable — Human-readable license title.
      - `license_url` string, nullable — License URL.
      - `author` string, nullable — Primary author or agency.
      - `author_email` string, nullable — Author contact email (published where available).
      - `maintainer` string, nullable — Dataset maintainer contact name.
      - `maintainer_email` string, nullable — Maintainer contact email.
      - `owner_org` string, nullable — Owner organization UUID.
      - `organization` HdxOrganizationRef — Compact organization reference embedded on a package.
        - `id` string, nullable — Organization UUID.
        - `name` string, nullable — Organization slug (URL-safe).
        - `title` string, nullable — Organization display title.
        - `description` string, nullable — Organization description.
        - `image_url` string, nullable — Organization logo URL when published.
        - `type` string, nullable — CKAN group type (always `organization`).
        - `approval_status` string, nullable — Approval status (e.g. `approved`).
        - `state` string, nullable — Organization state (e.g. `active`).
      - `resources` HdxResource[], nullable — Downloadable resources attached to the dataset.
        - `id` string, nullable — Resource UUID on the upstream portal.
        - `name` string, nullable — Resource display name (file label).
        - `description` string, nullable — Free-text resource description.
        - `url` string, nullable — Direct download URL for the resource file.
        - `format` string, nullable — File format label (CSV, XLSX, GeoJSON, SHP, PDF, JSON, API).
        - `mimetype` string, nullable — MIME type as reported by the portal (e.g. application/vnd.ms-excel).
        - `size` integer, nullable — File size in bytes when reported by upstream.
        - `last_modified` string, nullable — File update time as reported by upstream (ISO 8601).
        - `created` string, nullable — Resource creation timestamp (ISO 8601).
        - `metadata_modified` string, nullable — Last catalog-metadata modification for this resource (ISO 8601).
        - `resource_type` string, nullable — Resource type label (file, api, etc.).
        - `package_id` string, nullable — Parent package UUID.
      - `groups` HdxGroup[], nullable — Country / topic groups the dataset belongs to.
        - `id` string, nullable — Group UUID.
        - `name` string, nullable — Group slug (lowercase ISO-3 for HDX country groups).
        - `title` string, nullable — Human-readable group title.
        - `display_name` string, nullable — Display-ready group name.
        - `description` string, nullable — Group description.
        - `image_display_url` string, nullable — Display-ready group image URL.
      - `tags` HdxTag[], nullable — Tags attached to the dataset (may span free and curated vocabularies).
        - `id` string, nullable — Tag UUID.
        - `name` string, nullable — Tag slug.
        - `display_name` string, nullable — Display-ready tag name.
        - `vocabulary_id` string, nullable — Parent vocabulary UUID. On HDX, non-null entries are under the `Topics` vocabulary.
        - `state` string, nullable — Tag state (e.g. `active`).
      - `num_resources` integer, nullable — Number of resources attached.
      - `num_tags` integer, nullable — Number of tags attached.
      - `url` string, nullable — Source URL declared by the publisher (not the upstream catalog page).
      - `extras` object[], nullable — Publisher-defined extras (arbitrary key/value records).
    - `rows` integer, required — Page size used for this response.
    - `start` integer, required — Offset used for this response.
  - `meta` SugraMeta, required — Metadata attached to every /api/v1/* response envelope.
    - `endpoint` string, required — Requested endpoint path.
    - `data_time` string, required — ISO 8601 UTC timestamp of the source data, not of the request.
    - `response_time` string, required — ISO 8601 UTC timestamp when this response was produced.
    - `provider` string, required — API name and version.
    - `source` string, nullable — Identifier of the primary upstream source used for this response.
    - `attribution` string, nullable — Human-readable attribution mandated by an upstream source (e.g. a securities regulator or self-regulatory organization). Present only on responses whose source requires the owner and source to be clearly identified. Do not remove or alter it when using the response.
    - `fallback_used` boolean, nullable — True when the primary source failed and a fallback produced the data.
    - `fallback_chain` string[], nullable — Ordered list of sources attempted, in the order they were tried.
    - `cached` boolean, nullable — True when this response was served from the internal cache.
    - `stale` boolean, nullable — True when the cached response was returned after the upstream rate-limited or errored. Clients can use this to detect degraded data.

## Other responses

- `401` — Missing or invalid `x-api-key` header. JSON body with a stable `code` distinguishing `missing_api_key` (no header sent) from `invalid_api_key` (header sent, key not accepted); any other 401 source carries the generic `unauthorized` with its detail as `reason`. Plus `hint`. `plan` is always null on 401 - an unauthenticated request has no plan; quota exhaustion is 429, not 401.
- `422` — Validation Error
- `429` — Daily rate limit exceeded. Check `X-RateLimit-Reset` for the next window.
- `503` — Upstream source is temporarily unavailable. Retry after a short delay.

---

[API](https://skmtc.net/sugra/apis/sugra-api.md) · [All operations](https://skmtc.net/sugra/apis/sugra-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sugra/sugra-api/versions/4c4530760ba1/schema)
