SYSTEM all green source rfi.fr queue 12,941 URLs p99 latency 185ms dataflirt.com · scraper/rfi-fr
RUN : 31 active pipelines : rfi.fr live

RFI news data,
at warehouse scale.

We extract multilingual articles, broadcast audio metadata, journalist profiles, and geopolitical reporting from rfi.fr. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Articles extracted
14.2K /day
Audio metadata
3.8K /24h
Languages tracked
15 /run
Active pipelines
31
Uptime
99.98%
Data Dictionary

Every field we extract from rfi.fr

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Articles objects from rfi.fr. All fields typed and schema-versioned.

article_idurltitlelanguageauthorpublished_atupdated_atbody_texttagsregion
articles
● 200 OK
"article_id": "rfi-fr-1294851",
"url": "https://www.rfi.fr/fr/afrique/20260512-example",
"title": "Elections in Senegal: Preliminary Results",
"language": "fr",
"author": "Jean Dupont",
"published_at": "2026-05-12T08:30:00Z",
"region": "Africa"
# article_idurltitlelanguageauthorpublished_at
1
2
3

Complete list of extractable fields for Audio & Podcasts objects from rfi.fr. All fields typed and schema-versioned.

episode_idshow_nametitleduration_secondsaudio_urlpublished_atgueststopicslanguage
audio_& podcasts
● 200 OK
"episode_id": "pod-8472",
"show_name": "Afrique Matin",
"title": "Morning News Summary",
"duration_seconds": 1240,
"audio_url": "https://aod.rfi.fr/rfi/fr/audio/2026/05/example.mp3",
"published_at": "2026-05-12T06:00:00Z"
# episode_idshow_nametitleduration_secondsaudio_urlpublished_at
1
2
3

Complete list of extractable fields for Journalists objects from rfi.fr. All fields typed and schema-versioned.

author_idnamerolebiotwitter_handlearticle_countrecent_articleslanguage_focus
journalists
● 200 OK
"author_id": "auth-392",
"name": "Marie Curie",
"role": "Senior Correspondent",
"twitter_handle": "@mariecurie_rfi",
"article_count": 412,
"language_focus": "fr"
# author_idnamerolebiotwitter_handlearticle_count
1
2
3

Complete list of extractable fields for Categories & Tags objects from rfi.fr. All fields typed and schema-versioned.

tag_idnameurlarticle_countrelated_tagsparent_categorylanguagelast_updated
categories_& tags
● 200 OK
"tag_id": "tag-senegal",
"name": "Senegal",
"parent_category": "Africa",
"article_count": 1543,
"language": "en",
"last_updated": "2026-05-12T09:15:00Z"
# tag_idnameurlarticle_countrelated_tagsparent_category
1
2
3

Complete list of extractable fields for Media Assets objects from rfi.fr. All fields typed and schema-versioned.

asset_idarticle_urlimage_urlcaptioncreditalt_textresolutionformat
media_assets
● 200 OK
"asset_id": "img-9921",
"image_url": "https://s.rfi.fr/media/display/example.jpg",
"caption": "Voters at a polling station in Dakar.",
"credit": "AFP / John Doe",
"alt_text": "People queuing to vote",
"format": "image/jpeg"
# asset_idarticle_urlimage_urlcaptioncreditalt_text
1
2
3

Capabilities

Extract global intelligence across 15 languages

Our RFI scraper handles the complexities of multilingual news sites: timezone normalisation, dynamic audio player extraction, and varying DOM structures across regional subdomains.

Multilingual Normalisation

Extract content from French, English, Spanish, Hausa, Swahili, and 10 other language subdomains into a unified schema.

Audio Metadata Extraction

Capture direct MP3 URLs, duration, show names, and broadcast timestamps from RFI podcast and live radio pages.

Full Article Text

Clean, structured body text extraction with boilerplate removal, preserving inline quotes and paragraph structures.

Geopolitical Tagging

Map RFI regional categorisation and keyword tags to your internal taxonomy for precise geopolitical monitoring.

Timestamp Standardisation

Convert local publication strings across 15 languages into strict ISO 8601 UTC timestamps for reliable time-series analysis.

Journalist Tracking

Link articles to specific authors, capturing bylines and contributor profiles to track reporting beats.

Media Asset Linking

Extract high-resolution image URLs, captions, and agency credits embedded within news reports.

Real-Time News Monitoring

Configure pipelines to poll specific RSS feeds, category pages, or search results at sub-minute intervals.

Historical Archive Scraping

Paginate through years of historical reporting to build comprehensive training corpora for NLP models.

// engagement pipeline

From URL list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide target languages, categories, or specific search queries. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy crawlers, normalise date parsing logic across languages, and handle pagination for rfi.fr.

Validation & QA
d 4–6

Schema validation, null-rate checks, timezone verification, and sample datasets before full launch.

Delivery
ongoing

JSON, CSV, or Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.

Under the hood

How our RFI pipeline handles the hard parts

Multilingual news sites present unique structural challenges. Here is how we ensure data quality across regions.

pipeline-monitor · rfi.fr · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
DOM variation
Handling language-specific layouts

Different language subdomains on RFI often use varying HTML structures and CSS classes. Our selectors are mapped per language, ensuring that an article in Hausa yields the exact same JSON schema as an article in French.

Audio extraction
Parsing dynamic media players

Audio links are frequently hidden behind JavaScript player states. We use Playwright to intercept media requests and parse player configuration objects, extracting clean MP3 URLs and duration metadata.

Date parsing
Multilingual timestamp normalisation

RFI publishes dates in local formats like 'Publié le : 12/05/2026' or 'Published on : 05/12/2026'. We maintain a custom date-parsing library to convert every string into strict UTC format.

Rate limiting
Respectful crawl concurrency

Media sites employ aggressive rate limiting to protect bandwidth. We distribute requests across residential proxies and strictly control concurrency to ensure uninterrupted extraction without triggering IP bans.

Change detection
Tracking article updates

News articles are frequently updated as stories develop. We track the 'updated_at' timestamp and hash the body text, delivering a new record only when the content actually changes.

Applications

Who uses RFI data

Teams across industries use rfi.fr data to build competitive products and smarter operations.

01
Geopolitical Analysis

Think tanks and risk analysts monitor RFI reporting on African and European politics for early threat detection.

02
Media Monitoring

PR firms track brand mentions, political figures, and public sentiment across international news coverage.

03
NLP & LLM Training

Machine learning teams ingest RFI multilingual articles to train cross-lingual translation and summarisation models.

04
Academic Research

Universities analyse historical reporting trends, framing of international events, and journalistic bias.

05
Misinformation Tracking

Fact-checking organisations cross-reference RFI reporting against social media narratives to verify claims.

06
Audio Transcription

AI companies extract podcast metadata and MP3 URLs to feed proprietary speech-to-text training pipelines.

Why DataFlirt

"RFI provides one of the richest multilingual geopolitical datasets available, but extracting structured text and audio metadata across 15 languages requires strict schema enforcement."

Most teams underestimate the complexity of multilingual media scraping. RFI structures its DOM differently across language subdomains. DataFlirt normalises timestamps, maps category taxonomies, and unifies audio metadata into a single warehouse-ready schema so your NLP engineers can focus on modelling rather than parsing.

Technical Spec

RFI scraper technical capabilities

Everything supported by our rfi.fr scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

JavaScript rendering
Playwright sessions for dynamic audio players and lazy-loaded components
Supported
Multilingual normalisation
Unifies 15 distinct language domains into a single JSON schema
Supported
Audio URL extraction
Direct MP3 links and broadcast duration metadata
Supported
Timestamp conversion
Localised date strings converted to ISO 8601 UTC
Supported
Change detection
Hash-based diffing to track article updates and corrections
Supported
Webhook delivery
HTTP POST per article for real-time news monitoring alerts
Supported
Historical archives
Deep pagination through years of older published content
Supported
Author mapping
Extraction of bylines, journalist profiles, and social links
Supported
Direct MP3 transcription
We extract audio URLs and metadata, but do not perform speech-to-text processing
Partial
Internal user comments
Extraction of user comments requiring authenticated login sessions
Partial
Infrastructure

Infrastructure powering the RFI pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheusFastAPI
Scrapy + Playwright Stack

Scrapy handles high-throughput crawl orchestration and deduplication. Playwright resolves JavaScript audio players and dynamic page elements.

Multilingual Normalisation Pipeline

Custom Python middleware parses language-specific date formats, maps regional taxonomies, and enforces a strict output schema across all subdomains.

Cloud-Native Orchestration

Pipelines run on AWS Lambda for burst scaling during breaking news events. Airflow handles scheduling, dependency management, and SLA alerting.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested arrays for hierarchical article data
CSV
Flat file with typed columns for metadata analysis
XLS
Excel compatible format for editorial teams
Parquet
Columnar format for BigQuery, Snowflake, and Athena
AWS S3
Direct bucket delivery compatible with any data lake
Webhook
HTTP POST per record for real-time news alerts
API
REST endpoints to query extracted historical datasets
BigQuery
Streamed directly into your dataset with schema auto-detect
Snowflake
Stage and COPY INTO workflow for incremental updates
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About rfi.fr scraping, legality, and pipeline operations.

Ask us directly →
Is scraping RFI legal?

Scraping publicly available news articles and metadata is generally permissible. DataFlirt extracts only public, non-authenticated text and audio metadata. We do not bypass paywalls or extract personal user data. Clients should review RFI terms of service and consult legal counsel for specific commercial use cases.

Which languages do you support for rfi.fr?

We support all language subdomains available on RFI, including French, English, Spanish, Portuguese, Hausa, Swahili, Mandinkan, Fulfulde, Russian, and Chinese. Our pipeline normalises dates and categories across all of them.

Do you extract the actual audio files?

We extract the direct MP3 URLs, show names, durations, and broadcast timestamps. We do not download the physical audio files or perform speech-to-text transcription as part of the scraping pipeline.

How fresh is the news data?

For active monitoring pipelines, we poll RSS feeds and category pages at sub-minute intervals, delivering new articles via webhook within seconds of publication.

Can you scrape historical archives?

Yes. We can paginate through years of historical reporting on RFI to build comprehensive text corpora for LLM training or academic research.

What is the minimum viable engagement?

Our smallest packages start at a defined category list or language subset with daily delivery. For full-site historical extraction, we price based on volume and compute requirements.

Can I request a sample dataset?

Yes. We provide a sample run of up to 500 articles across multiple languages during the scoping process to validate schema fit and date normalisation accuracy.

$ dataflirt scope --new-project --source=rfi.fr ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a historical multilingual corpus for LLM training or real-time geopolitical news alerts, we scope, build, and operate the pipeline. Tell us what you need.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Related Scrapers

More in news and media

Services

Data Extraction for Every Industry

View All Services →