Retrieve your published daynurseries.co.uk reviews as JSON, so you can import them into your own CMS or a third-party platform.
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.
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.
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
idandapi_keyon 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. |
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. |
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. |
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. 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 and 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.