One of the more hidden features of Elgg is the Export interface.

In a nutshell this interface provides an export view for Entities, Metadata, Annotations and relationships which can provide a convenient way of accessing data objects in a machine readable form.


The export url is constructed in different ways for entities, relationships and metadata.

All endpoints begin with:[VIEW]/

Where [VIEW] is the format you want the data exported in – e.g. json, opendd, php or default.

To export a GUID simply add it to the end:[VIEW]/[GUID]/

Annotations & Metadata

Metadata and annotation can be exported by providing the type (‘annotation’ or ‘metadata’) and the appropriate ID.[VIEW]/[GUID]/[annotation|metadata]/[annotation_id|metadata_id]/

Follows the same format as above, but with [GUID] being the first guid in the relationship – in essence the entity to which the relationship “belongs”.[VIEW]/[GUID]/relationship/[relationship_id]/


Some items of data (for example user passwords) are restricted from this export view. Exactly what is output by an output view is governed by $object->getExportableValues(); which returns a list of exportable fields in the entity.

In addition, access permissions on the object are respected – meaning that if you can’t see an item in Elgg, you will not be able to see it in the export view either.

One thought on “The Export Interface

  1. Im new to elgg but is there a way to export all users at one time? conversely is there a way to import users?

Leave a Reply