What is Haystack?
End-to-end NLP framework for building search, RAG, and question answering pipelines. Developed by deepset.
Searching Amazon with Haystack
This integration lets your Haystack agent search Amazon in real time via the Scavio API. The agent gets back structured JSON with product listings, prices, ratings, review counts -- ready for reasoning and decision-making.
Setup
pip install scavio-haystackCode Example
Here is a complete Haystack agent that searches Amazon using Scavio:
from haystack.components.generators import OpenAIGenerator
from haystack_integrations.components.websearch.scavio import ScavioWebSearch
# ScavioWebSearch wraps Google web search (POST /api/v2/google). For Amazon
# data call POST /api/v1/amazon/search directly - see the Amazon guide.
# export SCAVIO_API_KEY=sk_live_your_key
web_search = ScavioWebSearch(top_k=5)
results = web_search.run(query="mechanical keyboard")
context = "\n".join(doc.content for doc in results["documents"])
generator = OpenAIGenerator(model="gpt-5.5")
response = generator.run(
prompt="Summarise these search results:\n" + context
)
print(response["replies"][0])Full Working Example
A production-ready example with error handling:
from haystack import Pipeline
from haystack.components.builders import PromptBuilder
from haystack.components.generators import OpenAIGenerator
from haystack_integrations.components.websearch.scavio import ScavioWebSearch
# ScavioWebSearch wraps Google web search (POST /api/v2/google). For Amazon
# data call POST /api/v1/amazon/search directly - see the Amazon guide.
# export SCAVIO_API_KEY=sk_live_your_key
template = """
Based on these web search results, answer the question.
{% for doc in documents %}{{ doc.content }}
{% endfor %}
Question: {{ query }}
Answer:
"""
pipe = Pipeline()
pipe.add_component("search", ScavioWebSearch(top_k=5))
pipe.add_component("prompt_builder", PromptBuilder(template=template))
pipe.add_component("llm", OpenAIGenerator(model="gpt-5.5"))
pipe.connect("search.documents", "prompt_builder.documents")
pipe.connect("prompt_builder", "llm")
query = "mechanical keyboard"
result = pipe.run({"search": {"query": query}, "prompt_builder": {"query": query}})
print(result["llm"]["replies"][0])Pricing
Scavio offers a free tier with 50 credits on signup (1 credit per search). No credit card required. This is enough to build and test your Haystack integration. Paid plans start at $30/month for higher volumes.