@d_run planned use case would be entirely offline (parsed by a game engine, specifically), so afaik web APIs are off the table
I guess embedding racket and consuming the s-expressions directly would probably be easier - but at that point things start to get heavier and more complicated, so i think i'm seeing why everything isn't a racket DSL now