Visibility of rural services
Supply is fragmented. The RUE brings verified providers into one geolocated directory so neighbours and companies can find what they need nearby.
RURBANIVE · Rural-Urban Enabler
RS4.0 (Servicios Rurales) is a geolocated digital marketplace that improves access to professional services in rural areas. Users discover providers on a map or list, contact them directly, and providers gain territorial visibility. The RUE is hosted by the consortium and integrates with the RURBANIVE Community Store via soft (iFrame) or link-based access, exposing FAIR aggregated catalogue data.
RURBANIVE domain 1 · logistics and shorter value chains · rural municipalities of Badajoz (Extremadura). Consortium: dM Rural and Cámara de Comercio de Badajoz.
A Rural-Urban Enabler (RUE) is a digital solution from the RURBANIVE Open Call to create rural–urban synergies. RS4.0 connects real rural needs with nearby providers, cuts unnecessary travel and gives territorial visibility to services that are now scattered.
Supply is fragmented. The RUE brings verified providers into one geolocated directory so neighbours and companies can find what they need nearby.
Urban and peri-urban providers do not see clear demand in the territory. The marketplace shows that demand and shortens value chains.
Simple flows, territorial support (Cámara de Comercio de Badajoz) and supervised recommendations avoid black boxes and build trust.
The engine proposes matches by category, distance, availability and history. A person validates the result: Human-in-the-Loop, with no autonomous decisions.
The aggregated catalogue (JSON/CSV) is findable, accessible, interoperable and reusable.
Integration A Soft (iFrame), B Link and C Deep (API). The consortium hosts the RUE and embeds it in the RURBANIVE ecosystem.
https://servicios-rurales.vercel.app/embed<iframe src="https://servicios-rurales.vercel.app/embed" title="RS4.0 – Servicios Rurales" width="100%" height="800" loading="lazy" referrerpolicy="no-referrer-when-downgrade" allow="geolocation"></iframe>
For integrators and webmasters
Endpoints to reuse the Servicios Rurales catalogue in the RURBANIVE Community Store and associated sites. License CC-BY-4.0. Access with an API key and `read` permission.
Canonical base: https://servicios-rurales.vercel.app. The routes below are definitive; in production they are prefixed with that base.
| Method | Path | Use |
|---|---|---|
| GET | /api/rue/metadatahttps://servicios-rurales.vercel.app/api/rue/metadata application/json | RUE metadata. RS4.0 identity, access URLs, compliance, FAIR principles and multilingual summaries. |
| GET | /api/rue/cataloguehttps://servicios-rurales.vercel.app/api/rue/catalogue application/json | Catalogue (JSON). Aggregates by category, region and municipality. Optionally, business listings. |
| GET | /api/rue/catalogue?format=csvhttps://servicios-rurales.vercel.app/api/rue/catalogue?format=csv text/csv | Catalogue (CSV). The same information as CSV (`text/csv`) for tabular reuse. |
| GET | /api/rue/catalogue?include=listings&limit=100https://servicios-rurales.vercel.app/api/rue/catalogue?include=listings&limit=100 application/json | Catalogue + listings. Aggregates plus up to `limit` listings (max. 500). |
| GET | /api/rue/embed-snippethttps://servicios-rurales.vercel.app/api/rue/embed-snippet application/json | iFrame snippet. HTML and URLs for A Soft integration in the Community Store. |
| GET | /api/rue/openapihttps://servicios-rurales.vercel.app/api/rue/openapi application/json | OpenAPI 3.0. Machine-readable specification of these endpoints, parameters and schemas. `?lang=es|en|fi` changes the language of descriptions. |
https://servicios-rurales.vercel.app/api/rue/openapi. Import it in Swagger Editor, Postman or Scalar. Add `?lang=es` or `?lang=fi` for another language.https://servicios-rurales.vercel.app/api/rue/metadatacurl -sS -H "Authorization: Bearer $RUE_API_KEY" "https://servicios-rurales.vercel.app/api/rue/catalogue" | jq .summary curl -sS -H "Authorization: Bearer $RUE_API_KEY" "https://servicios-rurales.vercel.app/api/rue/catalogue?include=listings&limit=20"
JSON uses UTF-8. Listing fields are flattened (no nested category or municipality objects).
Root
| Field | Type | Detail |
|---|---|---|
id | string (uri) | Persistent dataset identifier (`{SITE}/api/rue/catalogue`). |
schemaVersion | string | JSON contract version. Currently `1.0`. |
title | string | FAIR dataset title. |
license | string | Reuse text. License CC-BY-4.0. |
licenseSpdx | string | SPDX identifier. Always `CC-BY-4.0`. |
licenseUrl | string (uri) | Canonical license URL. |
publisher | object | Organisation responsible for the dataset. |
language | string[] | ISO 639-1 languages of the dataset documentation. |
isDescribedBy | string (uri) | Metadata URL (`/api/rue/metadata`). |
conformsTo | string (uri) | OpenAPI specification URL. |
landingPage | string (uri) | Human catalogue page (`/rue`). |
coordinateReferenceSystem | string | Coordinate CRS. Always `EPSG:4326` (WGS84). |
coordinatePrecisionDecimals | integer | lat/lng decimals in `listings` (3 ≈ 100 m). |
spatialCoverage | object | Territorial coverage (country, region, province). |
provenance | object | Origin, generation method and organisational contact. |
keywords | string[] | Thematic keywords. |
description | string | FAIR dataset description. |
generatedAt | string (date-time) | ISO 8601 generation timestamp. |
summary | object | Totals of the approved directory. |
by_category | object[] | Count of approved businesses by category. |
by_region | object[] | Count of businesses and municipalities by active region. |
by_locality | object[] | Count of businesses by municipality that has at least one approved business. |
listingsoptional | object[] | Business listings. Only with `include=listings`, maximum 500. |
listings_metaoptional | object | Limit, returned rows, approved total and order (`name`) when `listings` is present. |
summary
| Field | Type | Detail |
|---|---|---|
approved_businesses | integer | Businesses with status `aprobado`. |
categories | integer | Marketplace categories. |
localities_with_businesses | integer | Municipalities with at least one approved business. |
regions | integer | Active regions. |
by_category[]
| Field | Type | Detail |
|---|---|---|
category_id | string (uuid) | Category identifier. |
category_slug | string | Category slug. |
category_name | string | Category name. |
businesses | integer | Approved businesses in that category. |
url | string (uri) | Search page filtered by this category. |
by_region[]
| Field | Type | Detail |
|---|---|---|
region_id | string (uuid) | Region identifier. |
region_name | string | Region name. |
region_slug | string | Region slug. |
businesses | integer | Approved businesses in the region. |
localities | integer | Municipalities in the region (with or without listings). |
by_locality[]
| Field | Type | Detail |
|---|---|---|
locality_id | string (uuid) | Municipality identifier. |
locality_name | string | Municipality name. |
locality_slug | string | Municipality slug. |
region_id | string (uuid) | Region the municipality belongs to. |
businesses | integer | Approved businesses in the municipality. |
listings[] (include=listings)
| Field | Type | Detail |
|---|---|---|
slug | string | Identifier in the URL (`/negocio/{slug}`). |
name | string | Trade name. |
url | string (uri) | Persistent listing identifier (`/negocio/{slug}`). |
category_slug | string | null | Category slug, or `null`. |
category_name | string | null | Category name, or `null`. |
locality_name | string | null | Municipality, or `null`. |
region_name | string | null | Region, or `null`. |
lat | number | null | WGS84 latitude rounded to 3 decimals (~100 m), or `null`. |
lng | number | null | WGS84 longitude rounded to 3 decimals (~100 m), or `null`. |
rating | number | null | Average rating (0–5), or `null` if there are no reviews. |
reviews_count | integer | Number of published reviews. |
Root
| Field | Type | Detail |
|---|---|---|
schemaVersion | string | Metadata document version. Currently `1.0`. |
rue | object | RS4.0 identity: acronym, title, product, RURBANIVE domain, consortium and pilot territory. |
access | object | A Soft (iFrame), B Link, catalogue page and HTML snippet URLs. |
endpoints | object | Absolute URLs for metadata, JSON/CSV catalogue, snippet and OpenAPI. |
languages | object | Application and Community Store languages. |
compliance | object | HITL, data controller and contact email. |
fair | object | FAIR principles. |
visualAssets | object | Logo, EU badge and RURBANIVE logo URLs. |
generatedAt | string (date-time) | ISO 8601 generation timestamp. |
summaries | object[] | Short summaries in several languages for the Community Store. |
summaries[]
| Field | Type | Detail |
|---|---|---|
language | string | ISO 639-1 code (`en`, `es`, `el`, `de`, `cs`, `lt`, `fi`). |
languageName | string | Language name in English. |
title | string | Localised title. |
shortDescription | string | Short summary for Community Store cards. |
longDescription | string | Long description of the RUE purpose. |
Root
| Field | Type | Detail |
|---|---|---|
integration | string | Integration approach. Always `A_soft_iframe`. |
embedUrl | string (uri) | Embeddable compact view URL (`/embed`). |
fallbackUrl | string (uri) | Fallback URL (B Link) if the iFrame is not allowed. |
iframeSnippet | string | HTML `<iframe>` code ready to paste. |
notes | string[] | Integration notes for the Community Store. |
The aggregated catalogue is not paginated: `by_category`, `by_region` and `by_locality` cover the full approved directory. Listings (`listings`) do not use `page`/`offset`; they are trimmed with `limit`.
| Parameter | Values | Detail |
|---|---|---|
format | json | csv | Response format. `json` (default) or `csv`. |
include | listings | Adds listings when the value is `listings`. Same as `listings=1`. |
listings | 1 | When `1`, includes the `listings` array (same effect as `include=listings`). |
limit | 1–500 | Maximum listings in `listings`. Only with `include=listings`. Default 100; minimum 1; maximum 500. |
Every GET to `/api/rue/*` sends `Authorization: Bearer <api_key>`. Permission is `read`. A missing, invalid or revoked key returns `401`.
Writes, account data or administration go through OAuth 2.1 on `/api/v1`.
Canonical documentation: https://servicios-rurales.vercel.app/rue#api
RURBAN SERVICES 4.0 – Rural services marketplace
AI-assisted marketplace connecting rural users with nearby service providers in Badajoz (Extremadura, Spain).
RURBAN SERVICES 4.0 – Marketplace de servicios rurales
Marketplace con asistencia IA que conecta usuarios rurales con proveedores cercanos en Badajoz (Extremadura, España).
RURBAN SERVICES 4.0 – Αγορά αγροτικών υπηρεσιών
Ψηφιακή αγορά με υποβοήθηση ΤΝ που συνδέει αγροτικούς χρήστες με κοντινούς παρόχους υπηρεσιών στο Badajoz (Ισπανία).
RURBAN SERVICES 4.0 – Marktplatz für ländliche Dienstleistungen
KI-unterstützter Marktplatz, der ländliche Nutzende mit nahen Dienstleistern in Badajoz (Extremadura, Spanien) verbindet.
RURBAN SERVICES 4.0 – Tržiště venkovských služeb
Tržiště s podporou AI propojující venkovské uživatele s blízkými poskytovateli služeb v Badajozu (Španělsko).
RURBAN SERVICES 4.0 – Kaimo paslaugų rinka
DI padedama rinka, jungianti kaimo vartotojus su artimais paslaugų teikėjais Badachose (Ispanija).
RURBAN SERVICES 4.0 – Maaseutupalveluiden markkinapaikka
Teköälyn avustama markkinapaikka, joka yhdistää maaseudun käyttäjiä lähellä oleviin palveluntarjoajiin Badajozissa (Espanja).