1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
{{ define "main" }}
<section class="hero">
<div class="container">
<h1 class="hero-headline">
Structured data,<br>
<em>served simply.</em>
</h1>
<p class="hero-sub">
Tidy Index delivers clean, well-organized datasets through a single API
designed for humans, machines, and LLM agents alike.
</p>
<div class="hero-cta">
<a href="mailto:contact@tidyindex.com" class="btn btn-primary">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<circle cx="7.5" cy="15.5" r="5.5"/>
<path d="m11.5 11.5 9.5-9.5"/>
<path d="m17 5 3 3"/>
<path d="m14 8 3 3"/>
</svg>
Get an API Key
</a>
<a href="#demo" class="btn-link">See a record <span aria-hidden="true">↓</span></a>
</div>
<p class="cta-agents">
<span class="cta-agents-label">for agents</span>
<a href="{{ "llms.txt" | relURL }}"><code>GET /llms.txt</code> →</a>
<span class="cta-agents-note">a machine-readable invitation. No form, no salesperson.</span>
</p>
</div>
</section>
<section id="demo" class="section">
<div class="container">
<p class="section-marker">§ 01 · one dataset, three shapes</p>
<h2 class="section-headline">The same data, in whatever shape your job needs.</h2>
<p class="section-body">
Below is the <code>irs-990</code> dataset — the annual return
every U.S. nonprofit files with the IRS, normally distributed as a
sprawling PDF or wall of e-file XML. Tidy Index serves it three ways:
a single record for your API, a streaming bulk export for your data
team, or a token-efficient summary your agents can drop straight into
context.
</p>
<div class="record">
<header class="record-head">
<span class="record-label">Dataset</span>
<code class="record-id">irs-990</code>
<span class="record-meta">1.5M filings · updated daily</span>
</header>
<div class="record-row">
<div class="record-tag">
<span class="tag-name">record</span>
<span class="tag-mime">application/json</span>
<span class="tag-note">single filing, fully normalized</span>
</div>
<pre class="record-body"><code><span class="tk-p">{</span>
<span class="tk-k">"ein"</span><span class="tk-p">:</span> <span class="tk-s">"20-0049703"</span><span class="tk-p">,</span>
<span class="tk-k">"name"</span><span class="tk-p">:</span> <span class="tk-s">"Wikimedia Foundation, Inc."</span><span class="tk-p">,</span>
<span class="tk-k">"fiscal_year"</span><span class="tk-p">:</span> <span class="tk-n">2023</span><span class="tk-p">,</span>
<span class="tk-k">"revenue_usd"</span><span class="tk-p">:</span> <span class="tk-n">180249000</span><span class="tk-p">,</span>
<span class="tk-k">"expenses_usd"</span><span class="tk-p">:</span> <span class="tk-n">169106000</span><span class="tk-p">,</span>
<span class="tk-k">"net_assets_usd"</span><span class="tk-p">:</span> <span class="tk-n">254971000</span><span class="tk-p">,</span>
<span class="tk-k">"source"</span><span class="tk-p">:</span> <span class="tk-s">"https://apps.irs.gov/app/eos/details/?ein=200049703"</span>
<span class="tk-p">}</span></code></pre>
</div>
<div class="record-row">
<div class="record-tag">
<span class="tag-name">bulk</span>
<span class="tag-mime">application/x-ndjson</span>
<span class="tag-note">streaming, one record per line</span>
</div>
<pre class="record-body"><code><span class="tk-p">{</span><span class="tk-k">"ein"</span><span class="tk-p">:</span><span class="tk-s">"20-0049703"</span><span class="tk-p">,</span><span class="tk-k">"name"</span><span class="tk-p">:</span><span class="tk-s">"Wikimedia Foundation, Inc."</span><span class="tk-p">,</span><span class="tk-k">"revenue_usd"</span><span class="tk-p">:</span><span class="tk-n">180249000</span><span class="tk-p">}</span>
<span class="tk-p">{</span><span class="tk-k">"ein"</span><span class="tk-p">:</span><span class="tk-s">"20-0097189"</span><span class="tk-p">,</span><span class="tk-k">"name"</span><span class="tk-p">:</span><span class="tk-s">"Mozilla Foundation"</span><span class="tk-p">,</span><span class="tk-k">"revenue_usd"</span><span class="tk-p">:</span><span class="tk-n">34019000</span><span class="tk-p">}</span>
<span class="tk-p">{</span><span class="tk-k">"ein"</span><span class="tk-p">:</span><span class="tk-s">"26-1544963"</span><span class="tk-p">,</span><span class="tk-k">"name"</span><span class="tk-p">:</span><span class="tk-s">"Khan Academy, Inc."</span><span class="tk-p">,</span><span class="tk-k">"revenue_usd"</span><span class="tk-p">:</span><span class="tk-n">85436000</span><span class="tk-p">}</span>
<span class="tk-c">…</span></code></pre>
</div>
<div class="record-row">
<div class="record-tag">
<span class="tag-name">summary</span>
<span class="tag-mime">text/plain</span>
<span class="tag-note">token-efficient, agent-ready</span>
</div>
<pre class="record-body"><code>Wikimedia Foundation, Inc. (EIN 20-0049703) reported
$180.25M in revenue against $169.11M in expenses on
its 2023 Form 990, ending the year with $254.97M in
net assets.
Source: https://apps.irs.gov/app/eos/details/?ein=200049703</code></pre>
</div>
</div>
</div>
</section>
<section class="section section-soft">
<div class="container">
<p class="section-marker">§ 02 · what it is</p>
<h2 class="section-headline">Open data and licensed data, kept tidy.</h2>
<p class="section-body">
Some of what we serve comes from the open web. The rest is licensed
from publishers, data vendors, and partners who’ve trusted us with
their private feeds. All of it lives behind the same API, with the same
stable schemas, the same stable IDs, and the same freshness guarantees
— and one key gets you every record in every shape your tools
(or your agents) prefer.
</p>
</div>
</section>
<section class="section section-coverage">
<div class="container container-wide">
<p class="section-marker">§ 03 · what we cover</p>
<h2 class="section-headline">The index, abridged.</h2>
<p class="section-body">
A small slice of what’s already in the catalog.
</p>
<div class="catalog">
{{ range $.Site.Data.catalog.categories }}
<div class="catalog-col">
<span class="catalog-cat">{{ .name }}</span>
<div class="catalog-window">
<ul class="catalog-list">
{{ range .items }}<li>{{ . }}</li>
{{ end }}{{ range .items }}<li aria-hidden="true">{{ . }}</li>
{{ end }}
</ul>
</div>
</div>
{{ end }}
</div>
<p class="catalog-more"><strong>100+ datasets</strong> — and the next one we add is whichever one you ask for.</p>
</div>
</section>
<section class="section section-cta">
<div class="container">
<div class="cta-block">
<div class="cta-text">
<p class="section-marker">§ 04 · start</p>
<h2 class="section-headline">Ready when you are.</h2>
</div>
<a href="mailto:contact@tidyindex.com" class="btn btn-primary btn-lg">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<circle cx="7.5" cy="15.5" r="5.5"/>
<path d="m11.5 11.5 9.5-9.5"/>
<path d="m17 5 3 3"/>
<path d="m14 8 3 3"/>
</svg>
API Key
</a>
</div>
</div>
</section>
{{ end }}
|