Okay.
Next up, a super important integration.
A nice and easy one that you're gonna enjoy.
It's a powerful platform that is called Fire Crawl.
And this is a platform that supports a bunch of different web related activities web scraping, web
crawling, looking for links on a web page, and parsing a web page and running searches.
Turn websites into LM ready data is what it says in the headline, and that sounds like a jolly good
thing for us to do.
And the good news is that it is.
It has a free tier.
It has a free plan.
Uh, that is uh, I'm in the UK, so we're getting we're getting, uh, pounds here.
Uh, wherever you are, you will get the, uh, the right, um, the right currency.
Uh, and it's very, very popular.
A great thing for, uh, for us to do.
And so we are going to sign up for a fire crawl plan.
Fire crawl is the the website here.
And so sign up, uh, and, uh, I will continue with Google and I will authenticate with my Google
account and in we come.
And I'm going to say they've done their OAuth two.
As you now know.
You know the pain that Fire Crawl had to go through to be able to put up that box and the redirect URL
they will have got.
Right.
Um, and here we are.
We've come in uh, and uh, email has been verified and, uh, these are things to get started that
we won't do any of this, uh, we will get ourselves set up.
Continue.
Um, and we're about to complete the setup of our fire crawl account.
Next up, you have a terms of Service screen to to review.
Uh, for example, the description is that fire crawls an API that converts any website into LLM friendly
data, provides tools to extract structured data from web pages, ensuring data is clean and ready for
use in AI apps.
And you'll have to scroll all the way through all of this, and then you'll be able to turn that to
yes, and then you'll be able to continue.
We'll show you a little bit of code that you can ignore and proceed on to, to the, uh, the dashboard
screen.
It's actually it starts by saying invite your team, which we will not do.
Personal is fine and choose your plan.
We will get started with the free one allows us to scrape 500 pages, get started and it says welcome
to five crore at the top.
And here we are.
Here we are at the dashboard screen and you can see that we have, uh, all, all sorts of things,
the different things that it can do is scrape, which is to get data from a website search, which is
given a search term, be able to, to look for, for do a, do a, basically like a Google search crawl
is given a web page, find all of the links out different pages and get that data.
And then the agent.
Everyone has agent functionality these days.
We're going to be building that kind of thing using these.
There is an MCP integration that we'll learn all about tomorrow.
Uh, but uh, for now, what we really need is the API key.
That is the thing at this point to be copying into your clipboard, uh, so that we can use it in N810.
Okay, so now we go back to N810.
We go back into my first folder and let's go back to the Deep Seek project.
Here it is.
Okay.
First thing a little bit confusing.
I just want you to create a new node and type fire crawl and look at this fire crawl node.
What you'll see here, probably if you're like me, is that there's this install node button.
And this is, is going to install this as, as a node that we can use in cloud.
And I'm going to press this so that we install the fire crawl node.
And that is done.
And that package has been installed.
Um okay great.
Now let's use it okay.
And now I'm thrilled to introduce to you the final piece of a new learning for today, a really big
one, uh, topic called structured outputs.
So we're about to add here, fire crawl to to run a web search.
And it turns out that fire crawl isn't available in as a tool.
There's no fire crawl tool, so we can't just simply plug it into the AI agent.
We have to put it in as a node to come after the output.
So the agent will make some output and that will become the input into driving our web search.
But there's a problem here, which is that LMS just generate output content in an unstructured way.
It doesn't conform to any particular JSON spec, it's just the response that the LLM has.
And that's not what we want here.
We want it to produce some JSON according to a particular format.
And luckily there's a way to do it and it's absolutely crucial.
And I, I use it all the time, as do do all practitioners in the field.
It's this technique called structured outputs and it's built into n810.
And that's what we're going to use right now.
So for any AI agent like this you can double click on it, bring it up.
And there is this require specific output format.
We're going to turn that on.
And that's so crucial.
And once we've done that look at this A new a new thing has appeared in in this this this node cluster.
Uh, and it is something to connect an output parser to.
And one of the output parses is called a structured output parser.
And that's the one we want right now.
And it's one that says hey LM whatever you produce, it's got to conform to a particular type of JSON.
We need you to do that.
And as a result, it will.
And it's really cool that Nan allows us to do it by just giving some example JSON.
And then it will guarantee that the LM will generate an output that conforms to this.
So look, I'm going to have a bunch of JSON.
I'm not going to have what they put in as the default state and cities.
Instead I'm going to have uh search query, colon, uh, internet search or whatever.
Uh, it's an internet search perhaps would be a bit better.
Uh, doesn't matter.
But this is an example.
Very simple piece of Jason Jason with only one key value pair search, query and internet search.
And I'm gonna I'm gonna make this this this is going to be the, the output, uh, query structure.
And that's saying to the LM, whatever you generate, you can generate whatever you want as long as
it conforms to this.
Jason, this type of Jason generates it from this Jason example.
Okay.
And now we come back here and you can see that that's there.
And that is what this agent is going to generate.
And just to keep it coherent I'm going to double click here.
And I'm going to add in a system prompt.
Come here to Options System message.
And we're going to change your a helpful assistant to be something that makes its task slightly more
clear.
Here we go.
Let's say something like you come up with search queries for an internet search.
To best, uh, answer the user's question.
That's what we'll say.
You come up with search queries for an internet search, or we'll say search query.
With a search query, you come up with a search query for an internet search to best answer the user's
question.
All right.
That's how we're setting it.
Save that.
Come back here.
Uh, we didn't need to save it, but but I did.
Uh, and with that, we're now going to try this out before we add the parser on.
Let's just see what happens.
Okay.
So I'm going to come in here, I'm going to I'm going to open the chat.
And I'm going to say, uh, I'd like to find out what are the best LMS to be using in 2026.
And that is the message that we are going to give to our model.
And it's got that system prompt that tells it that it's going to try and make a search query and it's
run.
And if we double click on this what you'll see has come out.
We'll switch to the JSON view.
You will see that it's produced in under output something which conforms to the structured outputs that
we requested.
It conforms exactly, and it always will.
And I can't emphasize enough.
This is an incredibly powerful trick to use with LMS.
LMS give us this this rich ability to make a nuanced decisions based on their inputs, which is great.
But one of the downsides is that what they produce could be they can they can produce tokens that are
very unstructured and can be anything.
So trying to turn that into an organized workflow can be quite challenging, particularly if you're
not using tools.
This is the answer.
Always use structured outputs.
Turn on.
Require specific format.
Fix a JSON format.
Make sure your system prompt is consistent so it's clear what the LM has to do, and your outputs will
conform to a structure like this with a nice search query in this case, but with whatever you want
it to do.
And this is now ideal for us to hook up to the next step in the process.
And of course, the next step in the process is going to be fire crawl.
So we add in Fire Crawl right here.
We are going to say search and optionally scrape web results.
Here it is.
Credentials connect with is fire crawl account.
So you've pasted in your your API key as I have.
And you've got the connection tested successfully in here.
I hope all is good.
Uh, so we're going to, uh sorry.
Come on in here.
So the field that needs to be specified is what is it going to query on.
And of course it's right here.
It's the search query because this is exactly what came from the AI agent.
You can either type in the expression yourself or you can drop it in there.
It switches to expressions automatically.
It is of course JSON output dot search query.
And there is the example.
And everything here looks good.
Uh, okay with that, let's come back here.
Let me copy this message that I had before.
Let's start a fresh chat using this.
Paste this in.
And now everything runs off it goes.
It's gone to deep seek again through open router.
The structured output came out and it ran.
Let's double click on here to see what came out.
What came out is a bunch of URLs, titles and descriptions of of information that it retrieved based
on that.
That question about finding 2026 models.
And you can see it's got some good links there to a Forbes article, to Zapier, to to all sorts of
things.
Here it is working.
We have just scraped the internet using Fire Crawl.
Um, based on a general question that we asked, and we used an AI agent to turn that question into
a search term for fire crawl.
That is a great integration together.