<?xml version="1.0" encoding="UTF-8"?>
<scraper framework="1.1" date="2026-02-21">
  <CreateAlbumSearchUrl dest="3">
    <RegExp input="$$1" output="&lt;url&gt;https://api.audible.de/1.0/catalog/products?response_groups=contributors,media,product_desc,product_attrs,product_extended_attrs,series,category_ladders,rating,product_details&amp;image_sizes=500&amp;num_results=25&amp;products_sort_by=Relevance&amp;keywords=\1%20$$4&lt;/url&gt;" dest="3">
      <RegExp input="$$2" output="\1" dest="4">
        <expression noclean="1">(.+)</expression>
      </RegExp>
      <expression noclean="1">(.+)</expression>
    </RegExp>
  </CreateAlbumSearchUrl>

  <GetAlbumSearchResults dest="8">
    <RegExp input="$$5" output="&lt;results&gt;\1&lt;/results&gt;" dest="8">
      <RegExp input="$$1" output="&lt;entity&gt;&lt;title&gt;\4&lt;/title&gt;&lt;artist&gt;\2&lt;/artist&gt;&lt;year&gt;\3&lt;/year&gt;&lt;url&gt;https://api.audible.de/1.0/catalog/products/\1?response_groups=category_ladders,contributors,media,product_desc,product_attrs,product_extended_attrs,rating,series,product_details&amp;image_sizes=2400,1000,700,500&lt;/url&gt;&lt;/entity&gt;" dest="5">
        <expression repeat="yes" noclean="1">"asin":"([^"]+)".*?"authors":\[\{(?:"asin":"[^"]+",)?"name":"([^"]+)".*?"release_date":"([0-9]{4})-[0-9]{2}-[0-9]{2}".*?"title":"([^"]+)"(?=},\{"asin"|}\],"response_groups")</expression>
      </RegExp>
      <expression noclean="1"/>
    </RegExp>
  </GetAlbumSearchResults>

  <GetAlbumDetails dest="3">
    <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="3">
      <RegExp input="$$1" output="&lt;title&gt;\1&lt;/title&gt;" dest="5">
        <expression noclean="1">"title":"([^"]+)"(?=},"response_groups")</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;artist&gt;\1&lt;/artist&gt;" dest="5+">
        <expression noclean="1">"authors":\[\{(?:"asin":"[^"]+",)?"name":"([^"]+)"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="5+">
        <expression repeat="yes" noclean="1">"category_ladders":\[\{"ladder":\[(?:\{"id":"[^"]+","name":"([^"]+)"\},?)+</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;thumb&gt;\1&lt;/thumb&gt;" dest="5+">
        <expression noclean="1">"product_images":\{"2400":"([^"]+)"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;thumb&gt;\1&lt;/thumb&gt;" dest="5+">
        <expression noclean="1">"product_images":\{(?:"2400":"[^"]+",)?"1000":"([^"]+)"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;thumb&gt;\1&lt;/thumb&gt;" dest="5+">
        <expression noclean="1">"product_images":\{(?:"2400":"[^"]+",)?(?:"1000":"[^"]+",)?"700":"([^"]+)"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;thumb&gt;\1&lt;/thumb&gt;" dest="5+">
        <expression noclean="1">"product_images":\{(?:"2400":"[^"]+",)?(?:"1000":"[^"]+",)?(?:"700":"[^"]+",)?"500":"([^"]+)"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;review&gt;\1&lt;/review&gt;" dest="5+">
        <expression noclean="1" fixchars="1">"extended_product_description":"&lt;p&gt;((?:\\.|[^"])*)&lt;/p&gt;"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;releasedate&gt;\1&lt;/releasedate&gt;" dest="5+">
        <expression noclean="1">"release_date":"([0-9]{4}-[0-9]{2}-[0-9]{2})"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;year&gt;\1&lt;/year&gt;" dest="5+">
        <expression noclean="1">"release_date":"([0-9]{4})-[0-9]{2}-[0-9]{2}"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;rating&gt;\1&lt;/rating&gt;" dest="5+">
        <expression noclean="1">"display_average_rating":"([0-9.]+)"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;label&gt;\1&lt;/label&gt;" dest="5+">
        <expression noclean="1">"publisher_name":"([^"]+)"</expression>
      </RegExp>
      <RegExp input="$$1" output="&lt;votes&gt;\1&lt;/votes&gt;" dest="5+">
        <expression noclean="1">"num_ratings":"([0-9]+)"</expression>
      </RegExp>
      <expression noclean="1"/>
    </RegExp>
  </GetAlbumDetails>
</scraper>
