Verander elke website in een kant-en-klare API-client zonder handmatig DevTools te hoeven parsen
Iedereen die ooit gegevens heeft geëxtraheerd uit een gesloten service kent deze routine. Je opent het tabblad Netwerk in de ontwikkelaarstools, vindt het verzoek dat je nodig hebt, klikt op "Kopieer als cURL", neemt dat naar Postman of schrijft een wrapper in Python. Als er een dozijn eindpunten zijn, wordt de taak vervelend mechanisch werk.
Het reverse-api-engineer-project automatiseert deze hele keten. Je vertelt het gereedschap simpelweg welke gegevens je nodig hebt, en het onderschept netwerkverkeer en levert een kant-en-klare getypte SDK in de programmeertaal van je keuze.
Hoe het onder de motorkap werkt
De kern van het projectidee is het onderscheppen van HAR-bestanden (HTTP Archive) en deze aan taalmodellen voeren.
De workflow ziet er zo uit:
- Een browser wordt gestart onder besturing van Playwright of echte Chrome via Chrome DevTools MCP.
- De sessie doorloopt de nodige stappen: je kunt zelf door pagina's klikken of navigatie overlaten aan een autonome agent.
- Al het netwerkverkeer van de browser wordt netjes opgeslagen in HAR-formaat.
- Het neurale netwerk leest de verzoeklogboeken, filtert statische inhoud eruit, vindt de relevante eindpunten met payloads en genereert een kant-en-klare client.
Autonome agent-werkwijze
In plaats van de DOM-boom te parsen via selectors die breken bij elke frontend-update, werkt het gereedschap rechtstreeks met de interne API's van services. Als een site gegevens via JSON laadt, krijg je schone code om met dat JSON te werken.
Werkwijzen
In de console-interface worden werkmodi omgeschakeld door op Shift+Tab te drukken. Er zijn vier hoofdscenario's beschikbaar:
- agent — een autonome agent opent zelf de browser, vindt de benodigde knoppen, navigeert door pagina's en verzamelt netwerklogboeken op basis van je tekstuele taak.
- manual — de browser wordt voor je geopend. Je regelt zelf de authenticatie, past de benodigde filters toe, voltooit eventuele captcha en sluit het venster wanneer je klaar bent.
- engineer — voert codegeneratie opnieuw uit op basis van een eerder opgeslagen capture zonder de browser opnieuw te openen.
- collector — verzamelt gestructureerde gegevens (in JSON- of CSV-formaat) direct zonder clientcode te schrijven.
Handmatige modus met zelfbeheerde browserbesturing
Voor de agent-modus kan het gereedschap verbinden met je dagelijkse Google Chrome via Chrome MCP. Dit helpt wanneer een site complexe authenticatie vereist of sessiecookies opslaat die te lang zouden duren om naar een verse browser over te zetten.
Installatie en snelstart
Het project is geschreven in Python en gedistribueerd via PyPI. De snelste manier om het te installeren is via pipx of gewone pip:
uv tool install reverse-api-engineer
Als je van plan bent om de handmatige modus te gebruiken met lokale besturing via Playwright, kun je de browserafhankelijkheden maar beter meteen installeren:
uv tool install "reverse-api-engineer[manual]"
playwright install chromium
Na de installatie start je de CLI en geef je een taak door:
reverse-api-engineer
> fetch all apple jobs from their careers page
De browser wordt geopend, voert de acties uit en plaatst het resultaat in een aparte map:
./scripts/apple_jobs_api/
├── api_client.py
├── example_usage.py
└── README.md
Binnenin vind je een kant-en-klare klasse met methoden, parametertypen, correcte headers en een voorbeeld van gebruik.
Modellen en talen kiezen
Het gereedschap is niet gebonden aan één LLM-provider. Instellingen worden opgeslagen in het ~/.reverse-api/config.json-bestand, en je kunt ze rechtstreeks in de terminal wijzigen via het /settings-commando.
De volgende stacks worden ondersteund:
- Claude (Sonnet 4.6 of Opus 4.6 worden standaard gebruikt);
- OpenCode met ingebouwde ondersteuning voor gratis modellen;
- Ollama voor wie liever modellen lokaal draait op eigen hardware;
- Cursor en GitHub Copilot.
Qua uitvoercode kan de generator niet alleen in Python schrijven. In de config kun je TypeScript, JavaScript, Go, Java, C#, PHP, Ruby of gewoon C instellen (met codegeneratie voor libcurl).
Automatisering en scripting
Het gereedschap kan worden ingebed in pipelines dankzij JSON-uitvoerondersteuning en de --no-interactive-vlag:
reverse-api-engineer agent \
--prompt "capture the public jobs api" \
--url https://example.com/jobs \
--json | jq .
Het commando retourneert een gestructureerd object met uitvoeringsstatus, het pad naar het HAR-bestand, het gegenereerde script en tokengebruiksstatistieken.
Beperkingen en nuances
Voordat je alles gaat automatiseren, zijn er enkele praktische overwegingen om in gedachten te houden.
Agressieve botbeveiliging zoals Cloudflare Turnstile of Akamai kan de agent-modus blokkeren. In zulke gevallen helpt de handmatige modus (manual) of verbinding maken met een live Chrome-profiel via chrome-mcp.
Gegenereerde code wordt lokaal uitgevoerd. Verifieer altijd wat het neurale netwerk heeft geschreven in api_client.py voordat je het script uitvoert met productieaccounts.
Sessietokens en headers verlopen na verloop van tijd. Als de service tijdelijke request-handtekeningen gebruikt, moet je het gegenereerde script periodiek bijwerken door het opnieuw uit te voeren.
Wie heeft hier baat bij
Het project bespaart veel tijd als je regelmatig gegevens moet extraheren uit webservices zonder openbare API, snelle integraties moet schrijven of datasets moet bouwen. In plaats van de routinematige graafwerkzaamheden in het tabblad Netwerk krijg je in een paar minuten een kant-en-klare SDK. Het is zeker de moeite waard om te proberen, vooral als je al toegang hebt tot Claude of een lokale Ollama-instantie.
Gerelateerde projecten