leestijd: 7 min

13/09/2018

We willen allemaal reizen en liefst zo goedkoop mogelijk. Dus surfen we naar websites zoals CheapTickets. Bestemming, vertrek- en retourdatum invullen en klaar is Kees. Een uitgebreide lijst met vluchten van verschillende luchtvaartmaatschappijen verschijnt op je scherm. Snel even filteren op ‘prijs’ en je hebt het goedkoopste ticket beet. Zo hoef je zelf niet op onderzoek te gaan om het meest voordelige alternatief te vinden. Handig toch? Maar waar halen die websites hun data vandaan? Is het allemaal zo onschuldig als het lijkt?

Op zoek naar de API

‘Scraping’ is de techniek die wordt gebruikt om data van bepaalde websites te extraheren (te ‘schrapen’), te analyseren en vervolgens gestructureerd weer te geven in een eigen databank. Uiteraard gaat niemand daadwerkelijk honderden websites aflopen en eigenhandig interessante data copy-pasten. Er wordt gebruik gemaakt van data extraction software. Dergelijke web crawlers – zo genoemd omdat de software virtueel ‘kruipt’ tussen de verschillende websites – werken veel sneller en correcter dan jij en ik ooit zullen kunnen.

Als je een klein beetje thuis bent in de ICT-wereld, maak je misschien direct de link met Application Programming Interfaces (API’s). Veel websites (zoals Facebook, Twitter en LinkedIn) bieden tegenwoordig publieke open API’s aan die het voor de buitenwereld mogelijk maken toegang te krijgen tot hun data. Het specifieke doel hiervan is, net als bij scraping, om de data te hergebruiken. API’s zijn geweldige tools om data te verzamelen, op voorwaarde natuurlijk dat de beoogde website er één aanbiedt én dat de API de gewenste data ter beschikking stelt.

De vuistregel is om eerst te kijken of er een bruikbare API is, alvorens je andermans website gaat scrapen. Je kan bijvoorbeeld gemakkelijk de API van Twitter gebruiken om een lijst te krijgen van recente Tweets, zodat je zelf niet onnoemelijk veel tijd en energie in opzoekingen moet investeren. Niettemin zijn API’s niet altijd de handigste oplossing. Vaak vraagt de website een hoge kostprijs voor het hergebruik van de aangeboden data. Daarnaast kan ook de aanwezigheid van ‘rate limits’ een hinderpaal vormen. Deze limieten worden ingebouwd om het inkomend en uitgaand verkeer naar of van de website te beheren en overbelasting te voorkomen. Een bepaalde API zal bijvoorbeeld een maximum van honderd verzoeken per minuut toestaan. Bij overschrijding van deze limiet, zal een foutmelding verschijnen. In bepaalde gevallen kan het dus toch handiger zijn om aan scraping te doen.

Scraping: niet zo onschuldig als het lijkt

De website van Cheaptickets is maar één voorbeeld van scraping. Vaak gaat scraping echter een heel eind verder: van het verzamelen van contactgegevens, nieuwsartikelen en onderzoeken tot het scrapen van platformen waarop we online bankieren. De intentie van scrapers zal niet altijd even onschuldig zijn. Bovendien is heel wat data op websites, zoals teksten en foto’s, auteursrechtelijk beschermd en mag deze dus niet zomaar weggeplukt worden. Hier heb je de toestemming van de oorspronkelijke auteur nodig.

En zelfs wanneer bepaalde data op zich niet auteursrechtelijk beschermd is, kan er een zogenaamd databankenrecht rusten op de verzameling van de data. De voorwaarde hiervoor is dat er voldoende geïnvesteerd moet zijn in de opbouw en het onderhoud van de data. Wanneer dat het geval is, is echter niet altijd duidelijk. Eén criterium ligt wel vast: de databank moet deel uitmaken van de core business van de websitebouwer. Een duidelijk voorbeeld hiervan is de website van de Belgische Petroleum Federatie waar elke dag – al sinds 1970 – de dagelijkse maximumprijzen van petroleumproducten worden bijgehouden in een databank. In dergelijk geval mag de data slechts voor ‘normaal gebruik’ opgevraagd en/of hergebruikt worden. Het scrapen van een ‘in kwalitatief of kwantitatief opzicht substantieel deel van de inhoud’ van een databank is bijgevolg geen ‘normaal gebruik’ en is dan ook verboden. Tenzij je uiteraard de voorafgaande toestemming hebt gekregen van de websitehouder.

Wanneer de databank niet voldoet aan de vereiste omtrent de substantiële investering, is de databank niet beschermd onder de databankenrichtlijn. Toch zal je ook in dit geval de website niet zomaar mogen scrapen. In haar arrest van 2015 oordeelde het Hof van Justitie dat prijsvergelijkingssites hun data niet zomaar mogen halen van websites wanneer de algemene voorwaarden het gebruik van deze data verbieden. Vereist is wel dat de websitehouder een zeker belang heeft bij het opgelegde verbod. In deze zaak kon Ryanair aantonen dat als tickets uitsluitend op haar eigen website worden besteld – en dus niet op de prijsvergelijkingssites – zij ook extra betaalde diensten verkoopt die ze niet kan aanbieden via de websites van derden. Het gevolg van dit arrest is dat er niet alleen bescherming mogelijk is door het auteurs- of databankenrecht, maar tevens ook door een verbod te voorzien in de eigen algemene voorwaarden. Niettemin rijst in dit verband meteen de vraag in welke mate een scraper die voorwaarden kent en aanvaardt.

Wanneer je als websitehouder niet wilt dat de data op jouw website door anderen wordt hergebruikt, doe je er alleszins goed aan om scraping in de algemene voorwaarden te verbieden. Dit geldt in het bijzonder wanneer je niet kan terugvallen op de bescherming van de databankenrichtlijn. Je kan bijvoorbeeld volgende bepaling in de algemene voorwaarden opnemen: “Als gebruiker van deze website ga ik ermee akkoord dat het gebruik van geautomatiseerde systemen of software om data aan deze website te onttrekken voor commerciële doeleinden verboden is”.

Toch hebben zoekmachines en prijsvergelijkingswebsites een nuttige functie in de maatschappij. Het ontwikkelen van databanken en het vermarkten ervan komt de economie ten goede. Zelfs wanneer de data op een website beschermd is onder databankenrecht, kan je die data binnen bepaalde grenzen gaan hergebruiken voor commerciële doeleinden. Het auteurs- en databankenrecht staat vrije concurrentie niet in de weg. Daar zijn die rechten niet voor bedoeld. Het is dan ook opmerkenswaardig dat het Hof van Justitie ermee akkoord gaat dat een eenvoudige bepaling in de algemene voorwaarden scraping volledig kan verbieden. Het Hof creëert zo een pseudo-recht voor de websitehouder, dat moeilijk te rijmen valt met ons digitaal tijdperk.

Sociale netwerken als databron

Tot nu toe hebben we het enkel nog maar gehad over het scrapen van niet-persoonsgebonden data die voor Jan en alleman openbaar beschikbaar is. Maar wat nu als data van sociale netwerken gescrapet wordt? Dan liggen de zaken anders. Het grote probleem van dit soort scraping is dat het nagenoeg in alle denkbare hypotheses niet compatibel zal zijn met de Belgische en Europese privacyregels. De nieuwe privacyverordening (GDPR) bevat namelijk meerdere regels die een scraper zeer moeilijk zal kunnen volgen. Ten eerste vereist de GDPR een legitieme grondslag voor de verwerking van persoonsgegevens. Een scraper zal dit in de praktijk niet kunnen bewijzen gezien er noch toestemming zal zijn van alle gebruikers, noch sprake zal zijn van een eigen gerechtvaardigd belang. Voor dit laatste is vereist dat de vrijheden van de gebruiker niet zwaarder doorwegen dan het belang van de scraper. Wanneer de scraper commerciële doeleinden nastreeft, zal dit alvast niet het geval zijn. Daarnaast stelt de GDPR transparantie voorop. Echter werkt een scraper onzichtbaar voor de gebruiker. Bovendien krijgt de gebruiker geen informatie over de verwerking van de persoonsgegevens. Het automatisch inzamelen van beschikbare persoonsgegevens zal bijgevolg vaak buitenproportioneel zijn. Sociale netwerken scrapen op een GDPR-conforme wijze is bijgevolg quasi onmogelijk.

Dit alles neemt uiteraard niet weg dat je wél aan de slag kan met persoonsgegevens van gebruikers wanneer een sociaalnetwerksite zelf een API aanbiedt. Hier is het uiteraard wel van belang dat de sociaalnetwerksite de gebruikers in haar privacyverklaring afdoende heeft geïnformeerd over de mogelijke doorgifte van persoonsgegevens en waar nodig de toestemming van de betrokkenen heeft bekomen. Verder zal de sociaalnetwerksite bij het verlenen van een licentie die het gebruik van (een deel van) de gebruikersdatabanken toelaat, een aantal contractuele afspraken maken over de manier waarop de licentienemer met de persoonsgegevens moet omgaan. Het spreekt voor zich dat de ontvanger van de persoonsgegevens op zijn beurt ook de GDPR moet naleven, aangezien deze zelf zal optreden als ‘verwerkingsverantwoordelijke’.

Wees op je hoede

Het is duidelijk dat scrapen, vooral op grote schaal of voor economische doeleinden, samen gaat met juridische complicaties. Het is daarom altijd aangeraden om enkele principes steeds in acht te nemen. Is er een API? Gebruik die dan, tenzij de kostprijs te hoog is of rate limits het gebruik beperken. Beperk je in ieder geval tot een redelijke crawlsnelheid om de website niet te overladen met verzoeken. Zorg er dus voor dat scrapen steeds op een redelijke, proportionele manier gebeurt. In het verleden werden scrapers reeds veroordeeld voor het aanrichten van overmatige hinder aan andermans website.

Lees ook de algemene voorwaarden van de websitehouder erop na. Enkel wanneer de websitehouder geen verbod op scraping oplegt of geen belang heeft om scraping te verbieden, mag je de data op zijn/haar website gaan hergebruiken. Wil je zekerheid? Gebruik de data dan enkel met toestemming van de websitehouder.

Let erop dat bepaalde data auteursrechtelijk beschermd kan zijn. Om dergelijke data te hergebruiken, zal je eerst de nodige licenties moeten bekomen. Houd tot slot ook steeds de GDPR in het achterhoofd! Persoonsgegevens van een website halen wanneer er geen API voorhanden is, is in ieder geval af te raden.

Zit je met vragen over het gebruik van API’s? Wil je weten of je op een rechtmatige wijze aan scraping doet? Of wil je duidelijke voorwaarden omtrent het hergebruiken van de data op jouw website? deJuristen helpt je graag verder.

Is het je na het lezen van onze blog nog steeds niet helemaal duidelijk? Volg dan onderstaand stappenplan.

scraping

 

Geschreven door Fay Reynaert