# PRIMO-Scrap: towards automating the cartography of smartphone apps for mobility

Cyrille Kouma, Fatemeh Salmani, Daphne Tuncer

► To cite this version:

Cyrille Kouma, Fatemeh Salmani, Daphne Tuncer. PRIMO-Scrap: towards automating the cartography of smartphone apps for mobility. NetMob 2025, Oct 2025, Paris, France. hal-05350428

HAL Id: hal-05350428

https://hal.science/hal-05350428v1

Submitted on 6 Nov 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# PRIMO-Scrap: towards automating the cartography of smartphone apps for mobility

CYRILLE KOUMA<fnref n="1" />, FATEMEH SALMANI<fnref n="2" />, AND DAPHNE TUNCER<fnref n="3" />,*

## 1. INTRODUCTION

Smartphone applications (apps) have become essential ingredients of mobility practices [1]. Mobility services are today commonly mediated through apps that enable users to plan, organize and optimize their mobility directly from their smartphones. Available functions offered by apps include navigation using geolocation, trip planning, online reservation and ticketing, as well as information service such as real-time announcement about traffic conditions. Understanding the ecosystem of these apps, including in terms of their technical and usage policy features, can provide new insights onto the evolution of people's mobility.

In this short paper, we present PRIMO-Scrap, a framework to automatically collect and format publicly available information about apps used for mobility. PRIMO-Scrap can be used to compile datasets for the study of the digital ecosystem of mobility in a given region, as well as the dynamics of this ecosystem over time. An example use case that we have been exploring using a dataset of 705 apps collected for France using PRIMO-Scrap is the risk that the use of these apps raises in terms of personal data collection. We provide details about the framework and report some observations regarding the collected data.

The source code of PRIMO-Scrap and the collected dataset are available at: http://github.com/DT16/PRIMO

## 2. PRIMO-SCRAP

An overview of the PRIMO-Scrap framework is depicted in Fig. 1. PRIMO-Scrap builds on three main functions: 1) a taxonomy parser that takes as input a taxonomy of keywords related to mobility practices that are combined and converted into scraping requests to apps download platforms (e.g., Google App Play Store); 2) a web scraper that automatically retrieves information from the selected download platform(s) for the apps matching the inputs keywords in the taxonomy; 3) an app specifier that converts the collected information into a semi-structured format building on specification designed for these apps.

A key feature of PRIMO-Scrap is its modular design that enables to use different taxonomy inputs and integrate scraping libraries specific to different types of app download platforms.

### A. Taxonomy parser

PRIMO-Scrap collects public data available on apps download platforms for apps whose description matches a set of input keywords. To select a set of keywords for apps that are relevant to the domain of people's mobility, we create a taxonomy of these apps, i.e., a classification of apps based on the mode and means of transportation with which they are associated and on the service they offer, e.g., rent a bicycle.

We implement our taxonomy in a tree structure where the root corresponds to the generic "mobility" keyword, the first level to the transport mode (individual, public, collective), the second to the mean used (bicycle, car, train, etc.) and the leaves to actions

related to the mobility practice such as rent, purchase, navigate, find itinerary. The taxonomy parser implements a method based on the bigtree Python library [2] to recursively traverse the graph and extracts combination of keywords against which the description of apps on the download platform is compared. To explore a large space of possible and relevant matching apps, each action on the leaf node is associated with a set of synonyms, e.g., rent, lease, hire, borrow.

### B. Web scraper

We collect a dataset of apps from the Google app download platform, i.e., Google Play App Store. We implement the PRIMO-Scrap scraper using the Google Search API tool SerpApi [3] that enables to scrape the results from app store.

Apps can be retrieved from Google Play Store using two approaches: 1) by typing the name of the application in the search engine of the Play Store or 2) by entering specific keywords related to the application. Our scraper uses the second approach. More specifically, we create a set of requests based on the list of keywords processed by our taxonomy parser. Each request is the concatenation of the keywords extracted from a node at level 2 in the tree, i.e., a mean of transport, to a leaf, i.e., an action, e.g., rent car, with one request per synonym of the action. For each request, we collect data for the twenty most relevant applications. We automatically eliminate redundancies between the set of apps collected via the different requests.

### C. App specifier

Apps download platforms provide various types of information for each app, such as its popularity, genre, technical specs or developer details, etc. For each app, the retrieved information is stored in a json file as shown on the right side of Fig. 1. This includes general information about the app such as its full name, a summary of its functionality and a description of the service it provides; insights about its novelty, popularity and price; indications about the genre under which it is classified (e.g., Maps and Navigation) and its rating; information about the company behind the app, including their address; the list of permissions users consent to give when installing this app and the privacy policy that is associated with the service that it provides.

## 3. COLLECTED MOBILITY APP DATASET

We use PRIMO-Scrap to collect a dataset of apps for mobility available for download in France. We initially collected a total number of 1000 unique apps but we noticed that some matching apps were classified under a genre not related to mobility (e.g., Sports). After manual review of the genre and apps, we implemented a configurable filter to automatically remove from the dataset apps for which the genre is not related to the domain. This gives us a dataset of 705 apps with a total collection time of around 1 hour and 50 min.

<footnote n="1">¹ESIEE Paris, France</footnote>

<footnote n="3">³Université Gustave Eiffel, France</footnote>

<footnote n="2">²Ecole nationale des ponts et chaussees, Institut Polytechnique de Paris, France</footnote>

<footnote>*daphne.tuncer@enpc.fr</footnote>
<figure><img src="image_2.png" /><figcaption>Fig. 1. Overview of the PRIMO-Scrap framework.</figcaption></figure>

<figure><img src="image_3.png" /><figcaption>Fig. 2. Main developers of apps for mobility showing their popularity in number of downloads on Google Play Store and the number of different apps that they provide.</figcaption></figure>

Fig. 2 shows statistics about the most common developers of these apps with an indication of their region of origin (based on the addresses provided on Google Play Store). Fig. 3 illustrates the types of permissions these apps require to operate. Some permissions grant access to data not directly related to the mobility actions such as access to photo data for Maps and Navigation apps, which raises questions with respect to personal data collection by these apps.

## 4. CONCLUSIONS

The use of smartphone applications (apps) has become central to people's mobility. Understanding the ecosystem of these apps is essential to investigate mobility practices. In this paper, we present PRIMO-Scrap, a framework to automatically collect online information pertaining to apps used for mobility. We use PRIMO-Scrap to collect and analyze a dataset of 705 apps available for download from France on the Google Play Store platform. We make the source code of PRIMO-Scrap and the dataset available to the community.

## ACKNOWLEDGMENT

This work is funded by the French National Research Agency as part of the Mob Sci-Dat Factory project (ANR-23-PEMO-0004) under the France 2030 program.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Overview of the permissions required to use an app per genre (as defined on Google Play Store).</figcaption></figure>

## REFERENCES

1. N. A. Khan, M. A. Habib, and S. Jamal, "Effects of smartphone application usage on mobility choices," Transportation Research Part A: Policy and Practice, vol. 132, pp. 932–947 (2020).

2. bigtree, "Big Tree Python Package," https://pypi.org/project/bigtree/.

3. Google Search API, "SerpApi," https://serpapi.com/.