Service

FireScrap — Traducteur live HTML → JSONL

Structuration à la volée pour agents autonomes. HTML verbeux → sections sémantiques typées. Cache partagé, sans modèle, sans navigateur.

EN LIGNE — BÊTA TECHNIQUE v1.0.0 x402 v2
FireScrap — HTML structuré en sections sémantiques pour agents

FireScrap — une URL, un document JSONL structuré, vérifiable par son extrait source.

🎯
Économiser le contexte ~30 k tokens épargnés par appel médian (le HTML brut n'entre pas dans la fenêtre de contexte).
✅
Garantir la vérifiabilité Chaque section cite son extrait source (raw_html_snippet). L'agent valide sans re-fetch.
🔄
Uniformiser l'entrée Mêmes types de sections, même schéma, quel que soit le site source.
🤝
Être courtois envers le web Cache partagé = une seule récupération HTTP par page, respect robots.txt, entêtes politesse.

Le problème qu'il règle

Un agent qui navigue reçoit du HTML écrit pour un navigateur — verbeux, imbriqué, non structuré. Chaque agent réécrit sa propre extraction, fragile et lente.

FireScrap normalise ce flux : une URL entre, un document JSONL par sections sémantiques sort. Chaque section porte son extrait source (raw_html_snippet) pour vérification.

Prix & accès

Gratuit 100/jour
1,00 USDC / 1 000

Sans compte, sans clé. Paiement x402 · USDC sur Base · session 90 j.

Tarif mesuré : coût machine ≈ 0,42 € / M appels ; ~30 k tokens de contexte épargnés par appel médian.

Comment ça marche

Un seul chemin court, sans dépendance externe :

url ──▶ récupération HTTP ──▶ arbre DOM ──▶ sections sémantiques ──▶ JSONL
                              │
                         cache (clé = url + entêtes)

Récupération

Asynchrone, timeout 10 s, bornée à 2 Mo (troncature signalée). Respect du robots.txt et entêtes politesse.

Classification

Chaque nœud notable → section typée : article_header, article_paragraph, article_code_block, article_table…

Cache partagé

Une page déjà traduite n'est pas re-fetchée. Courtoisie envers le site source, vitesse pour le client.

Formats dérivés du même objet : JSONL (défaut), YAML, TOML, Markdown, ndjson_md. Aucune divergence possible.

Ce que reçoit l'agent

{
  "_type": "page_translation",
  "_source_url": "https://exemple.fr/article",
  "_cache_hit": false,
  "page_metadata": {
    "title": "…",
    "language_original": "fr-FR",
    "charset_detected": "utf-8"
  },
  "sections": [
    { "_type": "article_header", "position_in_document": 0,
      "heading_text": "Bienvenue",
      "raw_html_snippet": "

Bienvenue

" }, { "_type": "article_paragraph", "position_in_document": 1, "text_normalized": "Le texte exploitable, sans balises…" } ], "_processing_stats": { "total_sections_extracted": 43, "time_to_parse_ms": 87 } }

Deux ancres de confiance : raw_html_snippet (extrait source pour vérifier) et position_in_document (reconstituer l'ordre).

Accès technique

POST https://firescrap.services4agents.fyi/api/v1/translate
GET /health
/.well-known/agent-card.json
/.well-known/x402

Carte et menu lisibles sans navigateur. Documentation interactive : /docs · OpenAPI

Erreurs typées (jamais document vide)

400 URL invalide
415 Non-HTML
502 Injoignable
503 Non exploitable
504 Trop lent

Chaque erreur porte sa raison explicite. Un défaut de conformité au schéma = incident serveur, jamais réponse partielle.

Service

FireScrap — Live HTML → JSONL Translator

On-the-fly structuring for autonomous agents. Verbose HTML → typed semantic sections. Shared cache, no model, no browser.

LIVE — TECHNICAL BETA v1.0.0 x402 v2
FireScrap — HTML structured into semantic sections for agents

FireScrap — one URL, one structured JSONL document, verifiable by its source snippet.

🎯
Save context ~30k tokens saved per median call (raw HTML doesn't enter the context window).
✅
Guarantee verifiability Each section cites its source excerpt (raw_html_snippet). The agent validates without re-fetch.
🔄
Uniform input Same section types, same schema, regardless of source site.
🤝
Be courteous to the web Shared cache = one HTTP fetch per page, respects robots.txt, polite headers.

The problem it solves

An agent browsing the web receives HTML written for a browser — verbose, deeply nested, unstructured. Every agent rewrites its own extraction, brittle and slow.

FireScrap normalises this flow: a URL goes in, a JSONL document of semantic sections comes out. Each section carries its source snippet (raw_html_snippet) for verification.

Price & access

Free 100/day
1.00 USDC / 1k

No account, no key. x402 payment · USDC on Base · 90-day session.

Measured pricing: machine cost ≈ €0.42 / M calls; ~30k context tokens saved per median call.

How it works

One short path, no external dependency:

url ──▶ HTTP fetch ──▶ DOM tree ──▶ semantic sections ──▶ JSONL
                          │
                     cache (key = url + headers)

Fetch

Async, 10 s hard timeout, bounded 2 MB (truncation reported). Respects robots.txt and polite headers.

Classification

Every notable node → typed section: article_header, article_paragraph, article_code_block, article_table…

Shared cache

A page already translated is never re-fetched. Courtesy towards the source site, speed for the client.

Derived formats from one object: JSONL (default), YAML, TOML, Markdown, ndjson_md. They cannot diverge.

What the agent receives

{
  "_type": "page_translation",
  "_source_url": "https://example.com/article",
  "_cache_hit": false,
  "page_metadata": {
    "title": "…",
    "language_original": "en-US",
    "charset_detected": "utf-8"
  },
  "sections": [
    { "_type": "article_header", "position_in_document": 0,
      "heading_text": "Welcome",
      "raw_html_snippet": "

Welcome

" }, { "_type": "article_paragraph", "position_in_document": 1, "text_normalized": "The usable text, without markup…" } ], "_processing_stats": { "total_sections_extracted": 43, "time_to_parse_ms": 87 } }

Two trust anchors: raw_html_snippet (source excerpt to verify) and position_in_document (rebuild in order).

Technical access

POST https://firescrap.services4agents.fyi/api/v1/translate
GET /health
/.well-known/agent-card.json
/.well-known/x402

Card and menu readable without a browser. Interactive docs: /docs · OpenAPI

Typed errors (never empty document)

400 Invalid URL
415 Non-HTML
502 Unreachable
503 Not usable
504 Too slow

Every error carries an explicit reason. Schema compliance defect = server incident, never partial response.