Authorities have recovered the body of a 15-year-old boy who died at a beach near Albany.

Police were called to Cheynes Beach yesterday afternoon after the boy went into the water at a rocky area and did not resurface.

His body was brought to shore but despite 45 minutes of CPR he could not be revived.

Due to the difficult terrain, bad weather and darkness, authorities deemed it too unsafe to carry the boy's body out of the area yesterday evening so it remained under police guard overnight.

The body was recovered this morning and taken to Albany Regional Hospital for a post mortem examination.

Authorities are trying to establish whether the boy drowned or injured himself diving or jumping from rocks.