11<PageHeader @title =" Accessing crates.io data" />
22
3- <p >
4- crates.io provides several ways of accessing crate data and metadata,
5- depending on what you specifically need. Please try them in the order below.
6- </p >
7-
8- <h2 id =" crate-index" ><a href =" #crate-index" >Crate index</a ></h2 >
9-
10- <p >
11- The crates.io sparse index is available at
12- <a href =" https://index.crates.io" >index.crates.io</a >, which adheres to the
13- <a href =" https://doc.rust-lang.org/cargo/reference/registry-index.html" >Cargo index format</a >.
14- The sparse index provides an extremely efficient way of accessing metadata on
15- a single or small number of crates.
16- </p >
17-
18- <p >
19- Each index file provides newline delimited JSON metadata on all published
20- versions of the crate, organised into
21- <a href =" https://doc.rust-lang.org/cargo/reference/registry-index.html#index-files" >index files</a >.
22- For example, information on the <code >base64</code > crate can be found at
23- <a href =" https://index.crates.io/ba/se/base64" >https://index.crates.io/ba/se/base64</a >.
24- </p >
25-
26- <p >
27- No rate limits are required to use data from the sparse crate index.
28- </p >
29-
30- <h3 id =" legacy-git-index" ><a href =" #legacy-git-index" >Legacy Git crate index</a ></h3 >
31-
32- <p >
33- Older versions of Cargo use the crate index provided in the
34- <a href =" https://github.com/rust-lang/crates.io-index" ><code >rust-lang/crates.io-index</code > repository on GitHub</a >.
35- This remains available for use, and may be a more efficient way of accessing
36- crate metadata for projects that require most or all crates to be included
37- than the sparse index.
38- </p >
39-
40- <p >
41- As the Git index is hosted on GitHub, GitHub's
42- <a href =" https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies" >Acceptable Use Policies</a >
43- apply.
44- </p >
45-
46- <h2 id =" database-dumps" ><a href =" #database-dumps" >Database dumps</a ></h2 >
47-
48- <p >
49- crates.io database dumps contain all information available through the
50- crates.io API in a single download. They are updated every 24 hours.
51- </p >
52-
53- <p >
54- The latest dump is available at the address
55- <a href =" https://static.crates.io/db-dump.tar.gz" >https://static.crates.io/db-dump.tar.gz</a >.
56- Information on using the dump is contained in the tarball. You can find the changelog for database dumps in
57- <a href =" https://github.com/rust-lang/crates.io/issues/3617" >GitHub issue #3617</a >.
58- </p >
59-
60- <h2 id =" api" ><a href =" #api" >crates.io API</a ></h2 >
61-
62- <p >
63- crates.io provides an API that is a superset of the functionality required by
64- the
65- <a href =" https://doc.rust-lang.org/cargo/reference/registry-web-api.html" >Cargo Web API</a >.
66- Should you be unable to use one of the previous options, you are welcome to
67- use the crates.io API provided you abide by the same limits as
68- <LinkTo @route =" policies" >the crawling policy</LinkTo >. In summary:
69- </p >
70-
71- <ol >
72- <li >A maximum of 1 request per second, and</li >
73- <li >
74- A <code >user-agent</code > header that identifies your application. We
75- strongly suggest providing a way for us to contact you (whether through a
76- repository, or an e-mail address, or whatever is appropriate) so that we can
77- reach out to work with you should there be issues.
78- </li >
79- </ol >
80-
81- <h2 id =" questions" ><a href =" #questions" >Questions</a ></h2 >
82-
83- <p >
84- If none of the above options suit your needs, please contact the crates.io
85- team either at <
a href =" mailto:[email protected] " >
[email protected] </
a >, or by
86- starting
87- <a href =" https://github.com/rust-lang/crates.io/discussions" >a discussion on GitHub</a >,
88- and we'll be happy to discuss solutions that might exist outside of the above
89- guidelines.
90- </p >
3+ <TextContent @boxed ={{ true }} >
4+ <p >
5+ crates.io provides several ways of accessing crate data and metadata,
6+ depending on what you specifically need. Please try them in the order below.
7+ </p >
8+
9+ <h2 id =" crate-index" ><a href =" #crate-index" >Crate index</a ></h2 >
10+
11+ <p >
12+ The crates.io sparse index is available at
13+ <a href =" https://index.crates.io" >index.crates.io</a >, which adheres to the
14+ <a href =" https://doc.rust-lang.org/cargo/reference/registry-index.html" >Cargo index format</a >.
15+ The sparse index provides an extremely efficient way of accessing metadata on
16+ a single or small number of crates.
17+ </p >
18+
19+ <p >
20+ Each index file provides newline delimited JSON metadata on all published
21+ versions of the crate, organised into
22+ <a href =" https://doc.rust-lang.org/cargo/reference/registry-index.html#index-files" >index files</a >.
23+ For example, information on the <code >base64</code > crate can be found at
24+ <a href =" https://index.crates.io/ba/se/base64" >https://index.crates.io/ba/se/base64</a >.
25+ </p >
26+
27+ <p >
28+ No rate limits are required to use data from the sparse crate index.
29+ </p >
30+
31+ <h3 id =" legacy-git-index" ><a href =" #legacy-git-index" >Legacy Git crate index</a ></h3 >
32+
33+ <p >
34+ Older versions of Cargo use the crate index provided in the
35+ <a href =" https://github.com/rust-lang/crates.io-index" ><code >rust-lang/crates.io-index</code > repository on GitHub</a >.
36+ This remains available for use, and may be a more efficient way of accessing
37+ crate metadata for projects that require most or all crates to be included
38+ than the sparse index.
39+ </p >
40+
41+ <p >
42+ As the Git index is hosted on GitHub, GitHub's
43+ <a href =" https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies" >Acceptable Use Policies</a >
44+ apply.
45+ </p >
46+
47+ <h2 id =" database-dumps" ><a href =" #database-dumps" >Database dumps</a ></h2 >
48+
49+ <p >
50+ crates.io database dumps contain all information available through the
51+ crates.io API in a single download. They are updated every 24 hours.
52+ </p >
53+
54+ <p >
55+ The latest dump is available at the address
56+ <a href =" https://static.crates.io/db-dump.tar.gz" >https://static.crates.io/db-dump.tar.gz</a >.
57+ Information on using the dump is contained in the tarball. You can find the changelog for database dumps in
58+ <a href =" https://github.com/rust-lang/crates.io/issues/3617" >GitHub issue #3617</a >.
59+ </p >
60+
61+ <h2 id =" api" ><a href =" #api" >crates.io API</a ></h2 >
62+
63+ <p >
64+ crates.io provides an API that is a superset of the functionality required by
65+ the
66+ <a href =" https://doc.rust-lang.org/cargo/reference/registry-web-api.html" >Cargo Web API</a >.
67+ Should you be unable to use one of the previous options, you are welcome to
68+ use the crates.io API provided you abide by the same limits as
69+ <LinkTo @route =" policies" >the crawling policy</LinkTo >. In summary:
70+ </p >
71+
72+ <ol >
73+ <li >A maximum of 1 request per second, and</li >
74+ <li >
75+ A <code >user-agent</code > header that identifies your application. We
76+ strongly suggest providing a way for us to contact you (whether through a
77+ repository, or an e-mail address, or whatever is appropriate) so that we can
78+ reach out to work with you should there be issues.
79+ </li >
80+ </ol >
81+
82+ <h2 id =" questions" ><a href =" #questions" >Questions</a ></h2 >
83+
84+ <p >
85+ If none of the above options suit your needs, please contact the crates.io
86+ team either at <
a href =" mailto:[email protected] " >
[email protected] </
a >, or by
87+ starting
88+ <a href =" https://github.com/rust-lang/crates.io/discussions" >a discussion on GitHub</a >,
89+ and we'll be happy to discuss solutions that might exist outside of the above
90+ guidelines.
91+ </p >
92+ </TextContent >
0 commit comments