{"x402Version":2,"payTo":"0x4c6BEb8b77365524A24f21d9111dF5c65033a758","resources":[{"id":35066,"slug":"35066","resource":"https://tablegrab.onrender.com/v1/extract","description":"TableGrab: give a public URL and get clean, typed JSON tables (headers, row objects, inferred column types, caption/heading context; colspan/rowspan handled; ISO dates and real numbers) or the page's main content as Markdown with title, byline, date and links. Handles HTML, CSV, XLSX and text PDFs. SSRF-safe, no JS rendering (returns js_required). $0.01 per call.","type":"http","serviceName":"TableGrab","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x4c6BEb8b77365524A24f21d9111dF5c65033a758","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","amountUsd":0.01,"maxTimeoutSeconds":120}],"outputSchema":{"properties":{"example":{"properties":{"byline":{"type":["string","null"]},"date":{"type":["string","null"]},"elapsed_ms":{"type":"integer"},"input_type":{"enum":["html","csv","xlsx","pdf","text"],"type":"string"},"links":{"items":{"properties":{"text":{"type":"string"},"url":{"type":"string"}},"type":"object"},"type":"array"},"markdown":{"type":"string"},"mode_used":{"enum":["tables","markdown"],"type":"string"},"site_name":{"type":["string","null"]},"source":{"description":"url/final_url/bytes/content_type or filename","type":"object"},"tables":{"items":{"properties":{"caption":{"description":"<caption> text if present","type":["string","null"]},"columns":{"items":{"properties":{"header":{"type":"string"},"key":{"type":"string"},"type":{"enum":["text","integer","number","date","boolean","code","empty"],"type":"string"}},"type":"object"},"type":"array"},"context":{"description":"nearest preceding heading, or sheet name","type":["string","null"]},"headers":{"items":{"type":"string"},"type":"array"},"index":{"type":"integer"},"n_cols":{"type":"integer"},"n_rows":{"type":"integer"},"rows":{"description":"one object per row, keyed by columns[].key","items":{"type":"object"},"type":"array"},"source":{"description":"where the table came from (html table index / sheet / pdf page)","type":"object"},"truncated":{"type":"boolean"}},"type":"object"},"type":"array"},"tables_found":{"type":"integer"},"title":{"type":["string","null"]}},"required":["input_type","mode_used"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"},"extensions":{"bazaar":{"info":{"input":{"body":{"clean":true,"max_tables":3,"mode":"tables","url":"https://en.wikipedia.org/wiki/List_of_United_States_cities_by_population"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"input_type":"html","mode_used":"tables","source":{"url":"https://en.wikipedia.org/wiki/List_of_United_States_cities_by_population"},"tables":[{"caption":null,"columns":[{"header":"City","key":"city","type":"text"},{"header":"State","key":"state","type":"text"},{"header":"2024 estimate","key":"c_2024_estimate","type":"integer"}],"context":"List of United States cities by population","headers":["City","State","2024 estimate"],"index":0,"n_cols":3,"n_rows":1,"rows":[{"c_2024_estimate":8478072,"city":"New York","state":"New York"}],"source":{"table_index":3,"type":"html"},"truncated":false}],"tables_found":9},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"clean":{"default":true,"description":"normalize cells: ISO dates, real numbers, nulls, whitespace; leading-zero codes kept; snake_case keys","type":"boolean"},"max_tables":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"mode":{"default":"auto","description":"tables = JSON tables; markdown = main article content; auto = tables if any, else markdown","enum":["tables","markdown","auto"],"type":"string"},"url":{"description":"public https URL of an HTML page, CSV, XLSX or text PDF (max 5 MiB)","format":"uri","type":"string"}},"required":["url"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"byline":{"type":["string","null"]},"date":{"type":["string","null"]},"elapsed_ms":{"type":"integer"},"input_type":{"enum":["html","csv","xlsx","pdf","text"],"type":"string"},"links":{"items":{"properties":{"text":{"type":"string"},"url":{"type":"string"}},"type":"object"},"type":"array"},"markdown":{"type":"string"},"mode_used":{"enum":["tables","markdown"],"type":"string"},"site_name":{"type":["string","null"]},"source":{"description":"url/final_url/bytes/content_type or filename","type":"object"},"tables":{"items":{"properties":{"caption":{"description":"<caption> text if present","type":["string","null"]},"columns":{"items":{"properties":{"header":{"type":"string"},"key":{"type":"string"},"type":{"enum":["text","integer","number","date","boolean","code","empty"],"type":"string"}},"type":"object"},"type":"array"},"context":{"description":"nearest preceding heading, or sheet name","type":["string","null"]},"headers":{"items":{"type":"string"},"type":"array"},"index":{"type":"integer"},"n_cols":{"type":"integer"},"n_rows":{"type":"integer"},"rows":{"description":"one object per row, keyed by columns[].key","items":{"type":"object"},"type":"array"},"source":{"description":"where the table came from (html table index / sheet / pdf page)","type":"object"},"truncated":{"type":"boolean"}},"type":"object"},"type":"array"},"tables_found":{"type":"integer"},"title":{"type":["string","null"]}},"required":["input_type","mode_used"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}}},"tags":["web-extraction","tables","html-to-json","markdown","scraping","bazaar"],"sourceHost":"tablegrab.onrender.com","lastUpdated":"2026-10-12T15:56:21.699Z","quality":{"calls30d":2,"uniquePayers30d":2,"lastCalledAt":"2026-10-12T15:56:21.285Z"},"metadata":{"serviceName":"TableGrab","extensions":{"bazaar":{"info":{"input":{"body":{"clean":true,"max_tables":3,"mode":"tables","url":"https://en.wikipedia.org/wiki/List_of_United_States_cities_by_population"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"input_type":"html","mode_used":"tables","source":{"url":"https://en.wikipedia.org/wiki/List_of_United_States_cities_by_population"},"tables":[{"caption":null,"columns":[{"header":"City","key":"city","type":"text"},{"header":"State","key":"state","type":"text"},{"header":"2024 estimate","key":"c_2024_estimate","type":"integer"}],"context":"List of United States cities by population","headers":["City","State","2024 estimate"],"index":0,"n_cols":3,"n_rows":1,"rows":[{"c_2024_estimate":8478072,"city":"New York","state":"New York"}],"source":{"table_index":3,"type":"html"},"truncated":false}],"tables_found":9},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"clean":{"default":true,"description":"normalize cells: ISO dates, real numbers, nulls, whitespace; leading-zero codes kept; snake_case keys","type":"boolean"},"max_tables":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"mode":{"default":"auto","description":"tables = JSON tables; markdown = main article content; auto = tables if any, else markdown","enum":["tables","markdown","auto"],"type":"string"},"url":{"description":"public https URL of an HTML page, CSV, XLSX or text PDF (max 5 MiB)","format":"uri","type":"string"}},"required":["url"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"byline":{"type":["string","null"]},"date":{"type":["string","null"]},"elapsed_ms":{"type":"integer"},"input_type":{"enum":["html","csv","xlsx","pdf","text"],"type":"string"},"links":{"items":{"properties":{"text":{"type":"string"},"url":{"type":"string"}},"type":"object"},"type":"array"},"markdown":{"type":"string"},"mode_used":{"enum":["tables","markdown"],"type":"string"},"site_name":{"type":["string","null"]},"source":{"description":"url/final_url/bytes/content_type or filename","type":"object"},"tables":{"items":{"properties":{"caption":{"description":"<caption> text if present","type":["string","null"]},"columns":{"items":{"properties":{"header":{"type":"string"},"key":{"type":"string"},"type":{"enum":["text","integer","number","date","boolean","code","empty"],"type":"string"}},"type":"object"},"type":"array"},"context":{"description":"nearest preceding heading, or sheet name","type":["string","null"]},"headers":{"items":{"type":"string"},"type":"array"},"index":{"type":"integer"},"n_cols":{"type":"integer"},"n_rows":{"type":"integer"},"rows":{"description":"one object per row, keyed by columns[].key","items":{"type":"object"},"type":"array"},"source":{"description":"where the table came from (html table index / sheet / pdf page)","type":"object"},"truncated":{"type":"boolean"}},"type":"object"},"type":"array"},"tables_found":{"type":"integer"},"title":{"type":["string","null"]}},"required":["input_type","mode_used"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}}}},"liveness":{"reliability":null},"verified":false,"featured":false},{"id":36416,"slug":"36416","resource":"https://city-table-clean.onrender.com/v1/clean","description":"City Table Clean: send a Socrata or CKAN city open-data CSV URL (or upload) and get back a cleaned CSV plus a change report: trimmed whitespace, normalized headers, ISO dates, plain numbers, de-duplicated rows, and a per-cell change log.","type":"http","serviceName":"City Table Clean","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x4c6BEb8b77365524A24f21d9111dF5c65033a758","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000","amountUsd":0.02,"maxTimeoutSeconds":120}],"outputSchema":{"properties":{"example":{"properties":{"changes":{"items":{"properties":{"action":{"type":"string"},"after":{},"before":{},"column":{"type":["string","null"]},"row":{"type":"integer"}},"type":"object"},"type":"array"},"cleaned_csv":{"description":"Cleaned CSV text","type":"string"},"report":{"description":"Summary: header map, column types, change counts, duplicates removed","type":"object"},"source":{"type":"object"}},"required":["cleaned_csv","report"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"},"extensions":{"bazaar":{"info":{"input":{"body":{"url":"https://data.cityofchicago.org/resource/ijzp-q8t2.csv?$limit=100"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"changes":[{"action":"date_standardized","after":"2026-10-01","before":"2026-10-01T00:00:00.000","column":"date","row":1}],"cleaned_csv":"case_number,date,ward\nJK437343,2026-10-01,28\n","report":{"change_counts":{"date_standardized":1},"duplicates_removed":0}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"dedupe":{"default":true,"type":"boolean"},"include_changes":{"default":true,"type":"boolean"},"max_rows":{"default":50000,"maximum":50000,"minimum":1,"type":"integer"},"url":{"description":"https URL of a public CSV: Socrata (/resource/xxxx-xxxx.csv, /d/xxxx-xxxx, rows.csv) or CKAN resource/download URL","format":"uri","type":"string"}},"required":["url"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"changes":{"items":{"properties":{"action":{"type":"string"},"after":{},"before":{},"column":{"type":["string","null"]},"row":{"type":"integer"}},"type":"object"},"type":"array"},"cleaned_csv":{"description":"Cleaned CSV text","type":"string"},"report":{"description":"Summary: header map, column types, change counts, duplicates removed","type":"object"},"source":{"type":"object"}},"required":["cleaned_csv","report"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}}},"tags":["open-data","csv","socrata","ckan","data-cleaning","bazaar"],"sourceHost":"city-table-clean.onrender.com","lastUpdated":"2026-10-10T17:34:25.821Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-10-10T17:34:25.628Z"},"metadata":{"serviceName":"City Table Clean","extensions":{"bazaar":{"info":{"input":{"body":{"url":"https://data.cityofchicago.org/resource/ijzp-q8t2.csv?$limit=100"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"changes":[{"action":"date_standardized","after":"2026-10-01","before":"2026-10-01T00:00:00.000","column":"date","row":1}],"cleaned_csv":"case_number,date,ward\nJK437343,2026-10-01,28\n","report":{"change_counts":{"date_standardized":1},"duplicates_removed":0}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"dedupe":{"default":true,"type":"boolean"},"include_changes":{"default":true,"type":"boolean"},"max_rows":{"default":50000,"maximum":50000,"minimum":1,"type":"integer"},"url":{"description":"https URL of a public CSV: Socrata (/resource/xxxx-xxxx.csv, /d/xxxx-xxxx, rows.csv) or CKAN resource/download URL","format":"uri","type":"string"}},"required":["url"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"changes":{"items":{"properties":{"action":{"type":"string"},"after":{},"before":{},"column":{"type":["string","null"]},"row":{"type":"integer"}},"type":"object"},"type":"array"},"cleaned_csv":{"description":"Cleaned CSV text","type":"string"},"report":{"description":"Summary: header map, column types, change counts, duplicates removed","type":"object"},"source":{"type":"object"}},"required":["cleaned_csv","report"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}}}},"liveness":{"reliability":null},"verified":false,"featured":false}]}