Skip to main content
aanchal-sikka
Community Advisor
Community Advisor
September 16, 2026
Répondu

Best practice for external systems to access AEM Assets metadata on a periodic schedule

We have an external system that needs to periodically access AEM Assets metadata multiple times per day. It’s only for assets matching certain pre-defined criteria (specific metadata values and folder structure)

 

What's the recommended approach for this use case? Are there specific APIs, connectors, or export you'd recommend? 

    Meilleure réponse par Saravanan_Dharmaraj

    ​@aanchal-sikka , From my experience Export from AEM Assets worked good using sling jobs running at regular intervals. It also depends on how big the DAM is to retrieve. Providing an API to consume from externally has its own pros/cons if your system can handle it and number of times they run. It shouldn’t overwhelm the system if the external system retries multiple times. Considering its predefined criteria i would export it as JSON to an external drive for consumption. Thats my 2 cents! :-)

    2 commentaires

    Saravanan_Dharmaraj
    Community Advisor
    Community Advisor
    September 26, 2026

    ​@aanchal-sikka , From my experience Export from AEM Assets worked good using sling jobs running at regular intervals. It also depends on how big the DAM is to retrieve. Providing an API to consume from externally has its own pros/cons if your system can handle it and number of times they run. It shouldn’t overwhelm the system if the external system retries multiple times. Considering its predefined criteria i would export it as JSON to an external drive for consumption. Thats my 2 cents! :-)

    AmitVishwakarma
    Community Advisor
    Community Advisor
    September 26, 2026

    Hi ​@aanchal-sikka ,

    For a recurring pull of assets matching a folder path and metadata values, use an author-side query/search rather than just listing a folder. The documented REST option is Query Builder's JSON endpoint, /bin/querybuilder.json: scope the query with path and type=dam:Asset, then add predicates for the relevant properties under jcr:content/metadata. Page through results with p.limit and p.offset; for large result sets, use p.guessTotal rather than requesting an exact count. Test the query with the expected data volume, particularly for custom metadata fields, to avoid inefficient index use.

    https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/developing/full-stack/search/query-builder-api
    https://experienceleague.adobe.com/en/docs/experience-cloud-kcs/kbarticles/ka-31227

    Example shape—replace the path and property names with those in your metadata schema:

    /bin/querybuilder.json?path=/content/dam/<root>&type=dam:Asset&1_property=jcr:content/metadata/<property>&1_property.value=<value>&p.limit=100&p.offset=0&p.guessTotal=true

    Add numbered property predicates for additional criteria, and URL-encode the parameters in the actual request.
    The Assets HTTP API (/api/assets) can list folder contents and perform asset operations, but its folder-listing response contains only partial representations and the API returns only a subset of metadata. It is not a metadata-filtered search endpoint.
    https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/assets/admin/mac-api-assets

    If considering the newer author-side Assets Search API, confirm with Adobe that it is enabled for your environment and supports the exact folder and metadata filters needed. The Assets Author API reference is marked Experimental, so I would not assume that search capability is generally available or stable for every integration. For metadata retrieval when you already know an asset ID, the Author API documents GET /adobe/assets/{assetId}/metadata

    https://developer.adobe.com/experience-cloud/experience-manager-apis/api/experimental/assets/author/

    https://experienceleague.adobe.com/en/docs/experience-manager-learn/cloud-service/aem-apis/invoke-openapi-based-aem-apis

    Also distinguish author-side search from the delivery-tier Search Assets API; the latter uses a delivery-... endpoint and is for delivery scenarios, not a general query of the author repository.
    https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/assets/dynamicmedia/dynamic-media-open-apis/search-assets-api

    For a manual CSV extract, AEM's bulk metadata export lets you select a folder, optionally include subfolders, and choose properties. It is an asynchronous UI export downloaded from Inbox—not a scheduled API for arbitrary metadata filters
    https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/assets/admin/metadata-import-export

    If the need is to capture changes rather than periodically retrieve the current matching set, consider AEM Events/Adobe I/O Events. Adobe's PIM integration example uses the Asset Processing Completed event for newly uploaded assets; confirm which event types fit the specific changes you need to track.
    https://experienceleague.adobe.com/en/docs/experience-manager-learn/cloud-service/aem-eventing/examples/assets-pim-integration

    Amit Vishwakarma - Adobe Commerce Champion 2025 | 17x Adobe certified | 6x Adobe SME