firecrawl_sdk/
document.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4#[cfg(feature = "mcp_tool")]
5use schemars::JsonSchema;
6
7#[serde_with::skip_serializing_none]
8#[derive(Deserialize, Serialize, Debug, Default, Clone, PartialEq, Eq)]
9#[cfg_attr(feature = "mcp_tool", derive(JsonSchema))]
10#[serde(rename_all = "camelCase")]
11pub struct DocumentMetadata {
12 #[serde(rename = "sourceURL")]
14 pub source_url: String,
15 pub status_code: u16,
16 pub error: Option<String>,
17
18 pub title: Option<String>,
20 pub description: Option<String>,
21 pub language: Option<String>,
22 pub keywords: Option<String>,
23 pub robots: Option<String>,
24
25 pub og_title: Option<String>,
27 pub og_description: Option<String>,
28 pub og_url: Option<String>,
29 pub og_image: Option<String>,
30 pub og_audio: Option<String>,
31 pub og_determiner: Option<String>,
32 pub og_locale: Option<String>,
33 pub og_locale_alternate: Option<Vec<String>>,
34 pub og_site_name: Option<String>,
35 pub og_video: Option<String>,
36
37 pub article_section: Option<String>,
39 pub article_tag: Option<String>,
40 pub published_time: Option<String>,
41 pub modified_time: Option<String>,
42
43 pub dcterms_keywords: Option<String>,
45 pub dc_description: Option<String>,
46 pub dc_subject: Option<String>,
47 pub dcterms_subject: Option<String>,
48 pub dcterms_audience: Option<String>,
49 pub dc_type: Option<String>,
50 pub dcterms_type: Option<String>,
51 pub dc_date: Option<String>,
52 pub dc_date_created: Option<String>,
53 pub dcterms_created: Option<String>,
54}
55
56#[serde_with::skip_serializing_none]
57#[derive(Deserialize, Serialize, Debug, Default, Clone, PartialEq, Eq)]
58#[cfg_attr(feature = "mcp_tool", derive(JsonSchema))]
59#[serde(rename_all = "camelCase")]
60pub struct Document {
61 pub markdown: Option<String>,
63
64 pub html: Option<String>,
68
69 pub raw_html: Option<String>,
73
74 pub screenshot: Option<String>,
76
77 pub links: Option<Vec<String>>,
79
80 pub extract: Option<Value>,
83
84 pub json: Option<Value>,
87
88 pub metadata: DocumentMetadata,
90
91 pub warning: Option<String>,
94}