Documentation · page 7 of 7

Where the data comes from

And how we check it

This page says where each part of StartupGraph comes from, how a fact is checked before we call it verified, which sites we do not read and why, and what is not right yet. It describes the code that answers the API today. The matching rules in full are on Contributing facts, and how much is on file is on What the data covers.

Three ways in

Asked with added_since or sort=added, GET /api/companies says which of the three added each company in added_by: imported, contributed or system.

Lists as sources

Some companies came from a Wikipedia list, not from a page about the company. Each imported field then cites the list it came from (#568):

Before this, every Wikipedia row linked to a page built from the company's name, which often did not exist or was about something else. The stored rows did not change; the answer is built differently.

Importers we stopped

Some sources' terms forbid what we do with their data. We stopped the importers that read them (#557). Nothing schedules them, their commands refuse to run and say why, and a job already queued ends without fetching.

SourceWhy it is stopped
TechCrunch (funding rounds, news, discovery)Personal, non-commercial use only, and no automated copying.
Y CombinatorIts terms forbid scraping and commercial use.
Crunchbase (discovery)No storing or redistributing its data without written consent.
WellfoundIts terms forbid harvesting and commercial use.
Product HuntIts API "must not be used for commercial purposes".
OpenCorporatesFree keys are for journalists, NGOs and academics, and the data is share-alike (ODbL).
LinkedIn (headcounts)The User Agreement forbids scraping.

For Crunchbase only the discovery importer is stopped. Importing a Crunchbase export file that a person supplies still runs, and is under review (#560).

The rows these importers wrote earlier are still on file and still served. Replacing those values from sources we can use is open (#260), and so is whether to keep the funding rounds read from TechCrunch (#465). The Hacker News importer is not stopped. The GitHub trending importer no longer reads the trending page; it asks the GitHub search API for the most-starred new repositories.

How a contributed fact is checked

A company's own website

The website we trust for a company is accepted on its own for facts about that company. Never a website that is still being claimed. These rules decide what counts as the company's own site:

Held claims

A claim we could not verify yet is held, not dropped, in one of three states:

The sender can give a held claim a better page by sending the same claim again with a different link. We check it against the fact on file right away. At most 3 new pages are checked for one fact, each once; a page we could not open can be sent again after 24 hours. When a fact takes a new page, the page it cited before is kept in our records and is not served.

Sites that refuse us

These sites refuse every request our verifier makes: Business Wire (businesswire.com), GlobeNewswire (globenewswire.com), Reuters (reuters.com), Axios (axios.com), Bloomberg (bloomberg.com), The Wall Street Journal (wsj.com) and the SEC (sec.gov). So the verifier never fetches them. A fact citing one reads source_unreachable on its first check. That is not a rejection: the refusal says nothing about the claim, so there is no strike. None of them is on the list of sites accepted on its own. Sent again as a better page for a held claim, one of them is answered at once and does not use up one of those pages. To get such a claim verified, cite another page that states it, such as the company's own announcement.

robots.txt and terms

So for TechCrunch: a TechCrunch page a person cites still verifies a fact, our importer no longer reads TechCrunch, and the API's own fetching never goes there.

What is not right yet

Corrections

To correct a value, send it as a fact with a public page that states it (Contributing facts). It is checked like any other. If you think we got a check wrong, write to hello@startupgraph.dev.

Check it yourself

Every call is in the reference.