--- title: "Reviews API" slug: "reviews-api-1" updated: 2026-10-21T08:16:23Z published: 2026-10-21T08:16:23Z canonical: "support.daynurseries.co.uk/reviews-api-1" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.daynurseries.co.uk/llms.txt > Use this file to discover all available pages before exploring further. # Reviews API Retrieve your published daynurseries.co.uk reviews as JSON, so you can import them into your own CMS or a third-party platform. > [!NOTE] > **Who can use it:** the Reviews API is available to Enhanced and Platinum subscribers. You need some technical knowledge to use it. > > > **Permitted use:** import reviews into your own CMS or a third-party platform. Do not use the Reviews API to display reviews on public-facing websites or apps; use our Review Widgets for that. See our [API terms of use](https://www.daynurseries.co.uk/terms/#api). ## Overview | Method | Endpoint | Returns | | --- | --- | --- | | GET | `/index.cfm/reviews` | Your published reviews, with ratings and replies | | GET | `/index.cfm/reviews/ratings` | Rating categories (`rr_id`), such as Staff or Learning | | GET | `/index.cfm/reviews/stars` | Star values (`rrs_id`), such as Good or Excellent | | GET | `/index.cfm/reviews/connections` | Reviewer connections (`rc_id`), such as Mother of Child | Base URL `https://api.daynurseries.co.uk`. Authentication, errors, support and the other review endpoints (Review Score, certificate, 'Review Us' poster and reviews PDF) are covered in the [Reviews API overview](https://support.daynurseries.co.uk/docs/reviews-api-overview). ## List reviews ``` GET /index.cfm/reviews ``` Returns every published review for the record your API key belongs to, as a JSON array. There is no pagination; the full list is returned in one response. - **Single setting key:** returns that setting's reviews. - **Group key:** returns reviews for every active setting in the group. Use `id` and `api_key` on each review to see which setting it belongs to. Reviews are ordered by setting, then from oldest to newest. ### Query parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | Yes | Your API key. | ### Example request ``` curl "https://api.daynurseries.co.uk/index.cfm/reviews?api_key=YOUR_API_KEY" ``` ### Example response `200 OK`, `Content-Type: application/json`. The values below are illustrative, not a real review. ``` [ { "api_key": "YOUR_API_KEY", "id": 65432100000, "r_id": 1234567, "date": "2026-09-09 07:25:24.6 +00:00", "first_name": "N/A", "last_name": "N/A", "display_name": "Example Reviewer", "email": "", "telephone": "", "description": "Example review text. This is not a real review.", "rc_id": "100", "dateRelatedTo": "2026-08-01", "has_reply": true, "ratings": "20:12,21:12,22:12,24:12,25:12,26:12,27:12,28:12,29:12,34:11,39:12,42:12", "average_rating": "4.92", "archived": 0, "submitted": "2026-09-09 07:25:24.6 +00:00", "first_published": "2026-09-17 11:59:16.1 +00:00", "last_published": "2026-09-17 11:59:16.1 +00:00", "reply": { "name": "Example Name", "position": "Nursery Manager", "content": "Example reply text.", "date": "2026-09-15 11:59:03.2 +00:00" }, "is_included_in_review_score": true } ] ``` ### Review object | Field | Type | Description | | --- | --- | --- | | `r_id` | integer | Unique ID of the review. | | `id` | integer | ID of the setting the review is for. | | `api_key` | string | API key of the setting the review is for. With a group key, this identifies the individual setting. | | `display_name` | string | The name the reviewer chose to show with their review. | | `description` | string | The review text. | | `rc_id` | string | The reviewer's connection to the setting. Look it up with [List reviewer connections](/docs/reviews-api-1#list-reviewer-connections). | | `dateRelatedTo` | string | The month the review's experience relates to, as `YYYY-MM-01`. Empty string if not given. | | `ratings` | string | Comma-separated `rr_id:rrs_id` pairs, one per rating category. See [Reading ratings](/docs/reviews-api-1#reading-ratings). | | `average_rating` | string or null | Average star value across the review's ratings, out of 5, to two decimal places. `null` if there is no rating value. | | `submitted` | string | When the review was submitted. See [Dates](/docs/reviews-api-1#dates). | | `first_published` | string | When the review was first published. | | `last_published` | string | When the review was most recently published. The same as `first_published` unless the review has been republished, for example after an edit. | | `has_reply` | boolean | `true` if the setting has a published reply to this review. | | `reply` | object or null | The setting's published reply. See [Reply object](/docs/reviews-api-1#reply-object). `null` when `has_reply` is `false`. | | `is_included_in_review_score` | boolean | `true` if the review counts towards the setting's current Review Score, which uses reviews first published in the last 24 months. | | `archived` | integer | `1` if the review was submitted more than two years ago, otherwise `0`. To decide whether a review still affects the Review Score, use `is_included_in_review_score`, which is based on the publication date. | | `date` | string | When the review was submitted. Same value as `submitted`; kept for existing integrations. | | `first_name` | string | Always `"N/A"`. Kept for existing integrations. | | `last_name` | string | Always `"N/A"`. Kept for existing integrations. | | `email` | string | Always an empty string. Kept for existing integrations. | | `telephone` | string | Always an empty string. Kept for existing integrations. | ### Reply object | Field | Type | Description | | --- | --- | --- | | `name` | string | Name of the person who wrote the reply. | | `position` | string | Their job title. | | `content` | string | The reply text. | | `date` | string | When the reply was written. A reply can be dated before `first_published`, because settings can reply while a review is waiting to be published. | ### Dates All date-times are in UTC, in this format: ``` YYYY-MM-DD hh:mm:ss.f +00:00 2026-09-17 11:59:16.1 +00:00 ``` Convert them to UK time for display if you need to. Some older reviews only have a publication date, so their `first_published` time shows as `00:00:00.0`. ### Reading ratings Each pair in `ratings` is `rr_id:rrs_id`: the rating category, then the star value given. Match them against [List rating categories](/docs/reviews-api-1#list-rating-categories) and [List star values](/docs/reviews-api-1#list-star-values). For example, `34:11` means Value for Money (`rr_id` 34) was rated Good (`rrs_id` 11, worth 4 stars). A review has one pair for each rating category: 12 on daynurseries.co.uk. ## List rating categories ``` GET /index.cfm/reviews/ratings ``` Returns the rating categories for your setting, in display order. With a group key this endpoint returns an empty array (`[]`), because rating categories belong to setting types rather than groups. Use the list below, or call the endpoint with one of your settings' keys. | Field | Type | Description | | --- | --- | --- | | `rr_id` | integer | Rating category ID, as used in `ratings`. | | `rr_name` | string | Category name. | | `rr_sequence` | integer | Display order. | ### Day nurseries Full response, 12 categories: ``` [ { "rr_id": 39, "rr_name": "Overall Experience", "rr_sequence": 1 }, { "rr_id": 26, "rr_name": "Facilities / Outside Space", "rr_sequence": 2 }, { "rr_id": 20, "rr_name": "Learning", "rr_sequence": 3 }, { "rr_id": 27, "rr_name": "Resources / Equipment / ICT", "rr_sequence": 4 }, { "rr_id": 21, "rr_name": "Care", "rr_sequence": 5 }, { "rr_id": 28, "rr_name": "Activities", "rr_sequence": 6 }, { "rr_id": 22, "rr_name": "Staff", "rr_sequence": 8 }, { "rr_id": 29, "rr_name": "Food / Nutrition", "rr_sequence": 9 }, { "rr_id": 24, "rr_name": "Management", "rr_sequence": 10 }, { "rr_id": 42, "rr_name": "Cleanliness", "rr_sequence": 12 }, { "rr_id": 25, "rr_name": "Safeguarding", "rr_sequence": 13 }, { "rr_id": 34, "rr_name": "Value for Money", "rr_sequence": 14 } ] ``` ## List star values ``` GET /index.cfm/reviews/stars ``` Returns the possible answers for each rating category. The list is the same for every setting type and for group keys. Full response, 6 values: | Field | Type | Description | | --- | --- | --- | | `rrs_id` | integer | Star value ID, as used in `ratings`. | | `rrs_name` | string | Label shown to the reviewer. | | `rrs_sequence` | integer | Display order. | | `rrs_value` | integer | Number of stars, 1 to 5. Not present for "Don't Know". | ``` [ { "rrs_id": 14, "rrs_name": "Very Poor", "rrs_sequence": 1, "rrs_value": 1 }, { "rrs_id": 13, "rrs_name": "Poor", "rrs_sequence": 2, "rrs_value": 2 }, { "rrs_id": 10, "rrs_name": "Fair", "rrs_sequence": 3, "rrs_value": 3 }, { "rrs_id": 11, "rrs_name": "Good", "rrs_sequence": 4, "rrs_value": 4 }, { "rrs_id": 12, "rrs_name": "Excellent", "rrs_sequence": 5, "rrs_value": 5 }, { "rrs_id": 15, "rrs_name": "Don't Know", "rrs_sequence": 6 } ] ``` ## List reviewer connections ``` GET /index.cfm/reviews/connections ``` Returns every reviewer connection used on daynurseries.co.uk, in display order. The list is the same for every setting type on the site, and for group keys. | Field | Type | Description | | --- | --- | --- | | `rc_id` | integer | Connection ID. Reviews return it as a string in `rc_id`. | | `rc_name` | string | How the reviewer is connected to the setting. | | `rc_sequence` | integer | Display order. | Full response, 21 connections: ``` [ { "rc_id": 26, "rc_name": "Father of Child", "rc_sequence": 3000 }, { "rc_id": 100, "rc_name": "Mother of Child", "rc_sequence": 3001 }, { "rc_id": 27, "rc_name": "Stepfather of Child", "rc_sequence": 3020 }, { "rc_id": 28, "rc_name": "Stepmother of Child", "rc_sequence": 3040 }, { "rc_id": 29, "rc_name": "Grandmother of Child", "rc_sequence": 3060 }, { "rc_id": 118, "rc_name": "Grandfather of Child", "rc_sequence": 3065 }, { "rc_id": 139, "rc_name": "Great-grandmother of Child", "rc_sequence": 3066 }, { "rc_id": 140, "rc_name": "Great-grandfather of Child", "rc_sequence": 3067 }, { "rc_id": 30, "rc_name": "Aunt of Child", "rc_sequence": 3080 }, { "rc_id": 31, "rc_name": "Uncle of Child", "rc_sequence": 3100 }, { "rc_id": 141, "rc_name": "Great Aunt of Child", "rc_sequence": 3105 }, { "rc_id": 142, "rc_name": "Great Uncle of Child", "rc_sequence": 3106 }, { "rc_id": 32, "rc_name": "Brother of Child", "rc_sequence": 3120 }, { "rc_id": 33, "rc_name": "Sister of Child", "rc_sequence": 3140 }, { "rc_id": 143, "rc_name": "Cousin of Child", "rc_sequence": 3145 }, { "rc_id": 34, "rc_name": "Guardian of Child", "rc_sequence": 3160 }, { "rc_id": 125, "rc_name": "Foster Parent of Child", "rc_sequence": 3170 }, { "rc_id": 35, "rc_name": "Nanny/Carer of Child", "rc_sequence": 3180 }, { "rc_id": 144, "rc_name": "Godmother of Child", "rc_sequence": 3190 }, { "rc_id": 145, "rc_name": "Godfather of Child", "rc_sequence": 3191 }, { "rc_id": 191, "rc_name": "Day nursery staff", "rc_sequence": 3591 } ] ``` ## Caching Responses include an `ETag` header. Send it back in an `If-None-Match` header; if your reviews have not changed you get `304 Not Modified` with no body, and you can keep using your stored copy. Reviews are added through moderation, not in real time. Polling once an hour or less often is enough.