An index build is the run that turns every stored agency record and its observations into the ranked index Upwork Insights serves, computing metrics, scores, ranks, category and country statistics and the summary, under one build date.
The build runs after every crawl. It reads each agency record and its snapshot series, drops agencies with $0 earned, keeps those with hidden earnings and jobs done, and takes category membership from the directory listings where they exist, otherwise from the categories inferred from the agency's services. For each agency it computes the run-rate, lifetime pace, earnings per job, realised hourly and the Index Score, assigns a URL slug from the name, and then sorts: by earnings for the overall rank, by score for the rank by score, and within each category and country.
The summary written with it is the source of every live figure on the site: agency, category and country counts, total earnings, jobs and hours, badge counts, median earnings and median JSS, the earliest and latest observation dates, and how many records came from live reads versus archived captures. The result is published to the database the site reads, one row per agency, and the pages whose data changed are sent to IndexNow so search engines re-read them.
A build is a snapshot. A rank or score is true for that build date and may change at the next one as pages are re-read and categories added, which is why every page states when its agency was last observed and the footer states the build date.
How Upwork Insights uses it
The current build is dated Oct 31, 2026 and holds 28,921 agencies across 89 categories and 149 countries; the freelancer list is built the same way and holds 11,749 profiles. Every live figure on this page is filled from that build, and the method is set out on the methodology page.