{"version":"2026-10-26.2","id":"lei","task":"list which legal-entity records changed in the GLEIF LEI index over the last week for one country","input":{"since":"2026-10-21","country":"CH","limit":3},"measured_at":"2026-10-28T19:13:00.200662+00:00","figures":{"requests":"3 requests","diy_size":"15.3 KB","diy_time":"3.1 s","diy_tokens":"about 5,600 tokens","ours_size":"3.1 KB","ours_time":"1.1 s","ours_tokens":"about 1,100 tokens","date":"2026-10-28","gain":"For an agent that is about 5.0× less data, 2.8× faster and about 5.0× fewer tokens per check than doing it by hand."},"diy":{"requests":3,"failed":0,"bytes":15281,"wire_bytes":15281,"wall_s":3.12,"tokens":5622,"sources":[{"name":"api.gleif.org","host":"api.gleif.org","path":"/api/v1/lei-records","status":200,"bytes":8998,"wire_bytes":8998,"ms":1022,"tokens_per_byte":0.364,"sample_bytes":8998,"tokens":3275},{"name":"api.gleif.org","host":"api.gleif.org","path":"/api/v1/lei-records","status":200,"bytes":3092,"wire_bytes":3092,"ms":1023,"tokens_per_byte":0.3706,"sample_bytes":3092,"tokens":1146},{"name":"api.gleif.org","host":"api.gleif.org","path":"/api/v1/lei-records","status":200,"bytes":3191,"wire_bytes":3191,"ms":1074,"tokens_per_byte":0.3764,"sample_bytes":3191,"tokens":1201}]},"ours":{"calls":1,"bytes":3082,"ms":1095,"tokens":1120,"price_usd":0.02},"usd":{"diy_input":"$0.011","call":"$0.02","answer":"$0.0022","ours_total":"$0.022","diy_input_usd":0.011243999999999999,"call_usd":0.02,"answer_usd":0.00224,"ours_total_usd":0.02224,"saves_money":false},"token_price":{"provider":"OpenAI","model":"gpt-4.1","input_usd_per_mtok":2,"url":"https://developers.openai.com/api/docs/pricing","read_at":"2026-10-28T19:13:00.200662+00:00","scope":"standard tier, text input tokens","price_text":"$2.00 per 1 million input tokens"},"method":{"diy":"Requests an agent must make itself to get the same answer: for sanctions the five official list files fetched one after another with a plain GET without compression (the EU server drops TLS when gzip is requested); for the other tasks the outgoing data requests of our own worker for that call (payment-side requests excluded), run in a sandbox copy of the worker with the payment stubbed and the live network.","ours":"One call to the route with the input shown; size is the response body in bytes, time is the sandbox wall clock.","bytes":"Decoded response bytes; 1 MB = 1,000,000 bytes and 1 KB = 1,000 bytes. Wire bytes (compressed) are listed per source.","time":"Wall clock of this machine; requests one after another; a different machine or network gives different seconds.","tokens":"Tokens of the raw content if it is read into a model: Ollama qwen3.5:9b (prompt_eval_count of the loaded chat model). Three chunks of 4000 bytes per file (start, middle, end) give tokens per byte, applied to the full size of that file; our response is counted whole.","not_shown":"A local parser reads files without spending tokens but needs code and upkeep; a cached copy avoids the download but goes stale; accuracy, completeness and price of any answer are separate questions.","repeat":"Re-measured weekly by agents/savings_facts.py; the harness is ops/savings_measure.mjs."},"tokenizer":{"name":"Ollama qwen3.5:9b (prompt_eval_count of the loaded chat model)","real":true,"sample_bytes":4000}}