Scrape and extract structured data with Firecrawl
Firecrawl leverages Large Language Models (LLMs) to efficiently extract structured data from web pages. Here’s how:
-
Schema Definition:
Define the URL to scrape and the desired data schema using JSON Schema (following OpenAI tool schema). This schema specifies the data structure you expect to extract from the page.
-
Scrape Endpoint:
Pass the URL and the schema to the scrape endpoint. Documentation for this endpoint can be found here:
Scrape Endpoint Documentation
-
Structured Data Retrieval:
Receive the scraped data in the structured format defined by your schema. You can then use this data as needed in your application or for further processing.
This method streamlines data extraction, reducing manual handling and enhancing efficiency.
Used to extract structured data from scraped pages.
Output:
{
"success": true,
"data": {
"extract": {
"company_mission": "Train a secure AI on your technical resources that answers customer and employee questions so your team doesn't have to",
"supports_sso": true,
"is_open_source": false,
"is_in_yc": true
},
"metadata": {
"title": "Mendable",
"description": "Mendable allows you to easily build AI chat applications. Ingest, customize, then deploy with one line of code anywhere you want. Brought to you by SideGuide",
"robots": "follow, index",
"ogTitle": "Mendable",
"ogDescription": "Mendable allows you to easily build AI chat applications. Ingest, customize, then deploy with one line of code anywhere you want. Brought to you by SideGuide",
"ogUrl": "https://docs.firecrawl.dev/",
"ogImage": "https://docs.firecrawl.dev/mendable_new_og1.png",
"ogLocaleAlternate": [],
"ogSiteName": "Mendable",
"sourceURL": "https://docs.firecrawl.dev/"
},
}
}
You can now extract without a schema by just passing a prompt
to the endpoint. The llm chooses the structure of the data.
Output:
{
"success": true,
"data": {
"extract": {
"company_mission": "Train a secure AI on your technical resources that answers customer and employee questions so your team doesn't have to",
},
"metadata": {
"title": "Mendable",
"description": "Mendable allows you to easily build AI chat applications. Ingest, customize, then deploy with one line of code anywhere you want. Brought to you by SideGuide",
"robots": "follow, index",
"ogTitle": "Mendable",
"ogDescription": "Mendable allows you to easily build AI chat applications. Ingest, customize, then deploy with one line of code anywhere you want. Brought to you by SideGuide",
"ogUrl": "https://docs.firecrawl.dev/",
"ogImage": "https://docs.firecrawl.dev/mendable_new_og1.png",
"ogLocaleAlternate": [],
"ogSiteName": "Mendable",
"sourceURL": "https://docs.firecrawl.dev/"
},
}
}
The extract
object accepts the following parameters:
schema
: The schema to use for the extraction.
systemPrompt
: The system prompt to use for the extraction.
prompt
: The prompt to use for the extraction without a schema.