EmailmoversMyDataHub docs
Browse the docs

Reference / REST reference

Reference

List datasets

GET /v1/datasets. Every dataset with owner, source, licence, refresh, residency, regulator, warranty and credits per record.

Generated from the contractsView as Markdown

GET /v1/datasets

Every dataset with owner, source, licence, refresh, residency, regulator, warranty and credits per record. v2.0 serves uk_contacts; the others are listed with their status.

PropertyValue
EndpointGET https://mydatahub.emailmovers.com/v1/datasets
Operation idlistDatasets
CostFree (0 credits)
AccessNo account, key or token needed.
TagCatalogue

Request

Parameters

NameInTypeRequiredDescription
limitqueryinteger (1 to 100)noItems per page, 1 to 100. Default 25.
cursorquerystringnoAn opaque cursor from next_cursor. Pass it back unchanged.
MyDataHub-VersionheaderstringnoThe dated API version, pinned per key when left out. Non-breaking changes ship as new dates; the path major changes only for breaking changes, with a 12 month deprecation window.

Example request

curl "https://mydatahub.emailmovers.com/v1/datasets"

Responses

200: A page of datasets.

Headers: RateLimit, RateLimit-Policy.

MemberTypeAlways presentDescription
dataarray of Datasetyes
data[].idenum: uk_contacts, ie_contacts, global_contactsyesThe dataset an audience draws from. uk_contacts is live; ie_contacts and global_contacts are listed but not yet served.
data[].namestringyes
data[].statusenum: live, planned, through_our_teamyeslive is served; planned is not yet served; through_our_team is sold through the bespoke service only.
data[].ownerstringyes
data[].sourcestringyes
data[].licencestringyes
data[].refreshstringyes
data[].residencystringyes
data[].regulatorstringyes
data[].warrantystringyes
data[].credits_per_recordnumber (0 or more)yes1 for owned UK and Irish data.
data[].credits_statusenum: confirmed, proposedyes
data[].current_versionstring or nullyes
data[].versions_availableinteger (0 or more)yesImmutable weekly versions still queryable (the last 52).
has_morebooleanyesWhether another page follows.
next_cursorstring or nullyesPass as cursor to fetch the next page; null on the last page.

Example response

{
  "data": [
    {
      "id": "uk_contacts",
      "name": "UK contacts",
      "status": "live",
      "owner": "Emailmovers Ltd",
      "source": "Emailmovers research; Companies House (OGL v3.0); ONSPD (OGL v3.0)",
      "licence": "12 month multi-use licence; resale prohibited",
      "refresh": "Immutable weekly build every Monday; same-day suppression overlay",
      "residency": "Held in the UK (Google Cloud London)",
      "regulator": "ICO",
      "warranty": "Replacement when hard bounces exceed 10 percent of an order",
      "credits_per_record": 1,
      "credits_status": "confirmed",
      "current_version": "2026-W39",
      "versions_available": 52
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Errors

Every error is a problem object with a code and a next_step. Every response carries the RateLimit and RateLimit-Policy headers; see Rate limits.

StatusProblem codesWhen
400invalid-request, idempotency-key-required, unsupported-versionThe request could not be read, or an Idempotency-Key is missing.
422validation-failed, quote-required, dataset-unavailableThe request is not valid. errors lists every problem with a JSON pointer and did_you_mean.
429rate-limitedToo many requests. Wait for Retry-After.
Any other failureinternal-error, service-unavailable, tps-screen-expiredSomething failed on our side (500 internal-error) or the service is briefly unavailable (503 service-unavailable, with Retry-After). Nothing was charged; retry with the same Idempotency-Key. A count, sample, quote or order with telephone in play is also refused with 503 tps-screen-expired, with no Retry-After, while the dataset version's TPS and CTPS screen is more than 28 days old.