<p>You might be able to get the information that you are after from the <a href="https://rebrickable.com/downloads/" rel="nofollow noreferrer">Rebrickable database dumps</a>. This includes set inventories for many sets, along with the year that the sets were released. Here's the full schema diagram:</p>

<p><img src="https://rebrickable.com/static/img/diagrams/downloads_schema_v3.png" alt=""></p>

<p>A query something like this should provide a count of the number of sets every element has appeared in by year:</p>



<pre><code>
SELECT year,
       Sum(1),
       colors.name,
       parts.name,
       parts.part_num,
       colors.id
FROM   sets
       JOIN inventories
         ON inventories.set_num = sets.set_num
            AND inventories.version = 1
       LEFT JOIN inventory_parts
              ON inventory_parts.inventory_id = inventories.id
       JOIN parts
         ON parts.part_num = inventory_parts.part_num
       JOIN colors
         ON colors.id = inventory_parts.color_id
GROUP  BY year,
          colors.name,
          parts.name,
          parts.part_num,
          colors.id
ORDER  BY year DESC,
          colors.name ASC 
</code></pre>

<p>Here's that dataset:</p>

<p><a href="https://gist.github.com/jncraton/b0641ce5f8bc28e10e761a5ce1bafd51" rel="nofollow noreferrer">https://gist.github.com/jncraton/b0641ce5f8bc28e10e761a5ce1bafd51</a></p>

<p>Note that this query includes part variations (mold updates, prints, etc) as unique elements, so you may need to filter it down quite a bit for your use case. If you'd like to run your own queries directly against the full Rebrickable dataset, I maintain <a href="https://github.com/jncraton/rebrickable-import-dumps" rel="nofollow noreferrer">some scripts</a> that make this fairly easy to do.</p>

CC BY-SA 4.0
2020-05-21T22:11:12.630Z
2020-05-21T22:11:12.630Z
jncraton
<p>I have downloaded the Bricklink catalog four or five times in the past, but the interval was very irregular. I would like to look at the evolution of the LEGO part list over the years. However, I didn't find an option on Bricklink, or elsewhere on the Internet, to download past versions. </p>

<p>Are you aware of any archive of Bricklink catalogs? I haven't looked at other platforms with LEGO catalogs. Any other idea to get systematic information on the evolution of the part list is also welcome, of course. </p>

CC BY-SA 4.0
2020-05-21T17:22:43.287Z
Since bricklink was recently purchased by Lego Corp., that database may be evolving further soon.
Monte Gardner
CC BY-SA 4.0
2020-05-21T18:11:30.127Z
Are you specifically interested in only the Bricklink catalog, or are you interested in the evolution of produced LEGO elements generally?
jncraton
CC BY-SA 4.0
2020-05-21T20:25:23.067Z
@jncraton It is general interest. I tried the Bricklink catalog because it comes in a format that can be analysed by scripts quite easily. Questions I have are e.g. "Did the number of Technic elements increase by more than the average over the past 20 years?". And other statistics that may have evolved over time.
Metalbeard
CC BY-SA 4.0
2020-05-21T20:31:39.973Z
@user3794648 Yes, the catalog is constantly updated by the community. That is why an annual (or otherwise regular) snapshot would be interesting to have. Plus, the BL catalog comes in text format which is easy to reformat and to analyse.
Metalbeard
<bricklink><part-database>
Evolution of the LEGO part catalog over time
Metalbeard
# Evolution of the LEGO part catalog over time

(Asked by: username_0 on 2020-05-21)

I have downloaded the Bricklink catalog four or five times in the past, but the interval was very irregular. I would like to look at the evolution of the LEGO part list over the years. However, I didn't find an option on Bricklink, or elsewhere on the Internet, to download past versions.

Are you aware of any archive of Bricklink catalogs? I haven't looked at other platforms with LEGO catalogs. Any other idea to get systematic information on the evolution of the part list is also welcome, of course.

**Tags:** bricklink, part-database

> **Comments:**
> **username_1**: Since bricklink was recently purchased by Lego Corp., that database may be evolving further soon.  
> **username_2**: Are you specifically interested in only the Bricklink catalog, or are you interested in the evolution of produced LEGO elements generally?  
> **username_0**: @username_2 It is general interest. I tried the Bricklink catalog because it comes in a format that can be analysed by scripts quite easily. Questions I have are e.g. "Did the number of Technic elements increase by more than the average over the past 20 years?". And other statistics that may have evolved over time.  
> **username_0**: @user3794648 Yes, the catalog is constantly updated by the community. That is why an annual (or otherwise regular) snapshot would be interesting to have. Plus, the BL catalog comes in text format which is easy to reformat and to analyse.  

---

## 1 answers

### Answer by username_2 on 2020-05-21. Score: 3 | Accepted answer

You might be able to get the information that you are after from the Rebrickable database dumps. This includes set inventories for many sets, along with the year that the sets were released. Here's the full schema diagram:

A query something like this should provide a count of the number of sets every element has appeared in by year:

SELECT year,
       Sum(1),
       colors.name,
       parts.name,
       parts.part_num,
       colors.id
FROM   sets
       JOIN inventories
         ON inventories.set_num = sets.set_num
            AND inventories.version = 1
       LEFT JOIN inventory_parts
              ON inventory_parts.inventory_id = inventories.id
       JOIN parts
         ON parts.part_num = inventory_parts.part_num
       JOIN colors
         ON colors.id = inventory_parts.color_id
GROUP  BY year,
          colors.name,
          parts.name,
          parts.part_num,
          colors.id
ORDER  BY year DESC,
          colors.name ASC 

Here's that dataset:
https://gist.github.com/username_2/b0641ce5f8bc28e10e761a5ce1bafd51
Note that this query includes part variations (mold updates, prints, etc) as unique elements, so you may need to filter it down quite a bit for your use case. If you'd like to run your own queries directly against the full Rebrickable dataset, I maintain some scripts that make this fairly easy to do.


---

