Skip to main content

FlashData for Haystack

Build research pipelines and agent tools with six Google sources and nine YouTube sources. This package exposes 17 components for 15 capabilities: YouTube delivery has separate submit, status and result components. It does not include a model, embeddings, or a vector store.

Requires Python 3.11+ and Haystack 3.4. Install from the versioned source release:

pip install "git+https://github.com/flashdatadev/flashdata-mcp.git@haystack-v0.2.0#subdirectory=packages/haystack"

There is no published PyPI package yet. Installation is free under MIT; FlashData API calls use paid Credits. Configure FLASHDATA_API_KEY through your environment or secret manager after creating a key in your FlashData account. Use the linked source guides for current rates and limits.

from haystack import Pipeline
from flashdata_haystack import FlashDataGoogleSearch, as_tool

pipe = Pipeline()
pipe.add_component("search", FlashDataGoogleSearch())
result = pipe.run({"search": {"query": "retrieval augmented generation evaluation", "num": 5}})
print(result["search"]["result"])

# Constructing a tool does not call an API or a model.
tool = as_tool(FlashDataGoogleSearch())
# Add it to an existing Haystack Agent; the agent decides when to search.

The full API JSON is available as result. Realtime components also return documents, one Haystack Document per top-level API result. Document content is complete JSON, with source and result index metadata. Search snippets are not fetched webpage content; no media is automatically downloaded. Each example also shows how to format results into context without a model call.

Capability Guide and runnable pipeline Source contract
Google Search Web evidence for an agent Inputs, outputs, pricing
Google News News briefing Source guide
Google Images Image shortlist Source guide
Google Shopping Offer comparison Source guide
Google Videos Video references Source guide
Google Places Local business shortlist Source guide
YouTube Search Tutorial discovery Source guide
YouTube Extended Search Larger research inventory Source guide
YouTube Metadata Video inspection Source guide
YouTube Transcript Timestamped evidence Source guide
YouTube Captions Uploader caption review Source guide
YouTube License Metadata License-label inspection Source guide
YouTube Channel Channel briefing Source guide
YouTube Autocomplete Topic discovery Source guide
YouTube Delivery Saved job and storage delivery Source guide

These are source documentation and proposed directory pages. They are not proof of 15 approved Haystack directory entries. Actual IDs, URLs and review state are tracked separately in entries.json.

Save pipelines with pipe.dumps() and load reviewed YAML using Pipeline.loads(saved, allowed_modules=["flashdata_haystack"]). API keys use Haystack Secret; only environment variable names are serialized. Token secrets deliberately refuse serialization. Key and storage values never appear in tool input schemas.

YouTube delivery is asynchronous and needs customer storage. FlashDataYouTubeDownloadSubmit defaults to allow_submit=False; the operator must explicitly enable a paid storage write and set FLASHDATA_DOWNLOAD_STORAGE. Save the receipt and use FlashDataYouTubeDownloadStatus or FlashDataYouTubeDownloadResult to read that job. There is no automatic retry or polling.

Requests use a 120-second network timeout (15-second connect timeout) and a 20 MiB response limit. After an uncertain submission, inspect Jobs before resubmitting to avoid duplicate charges. API errors are reported as FlashDataError without raw credentials or response bodies. Model, storage and API costs are separate. See pricing and privacy.

Development:

uv sync --group dev
uv run python scripts/sync_contract.py
uv run python scripts/generate.py
uv run ruff check --fix .
uv run ruff format .
uv run ruff check .
HAYSTACK_TELEMETRY_ENABLED=false uv run pytest
uv run python -m build
uv run twine check dist/*

The HTTP, input and storage contracts are vendored from the reviewed Python CLI implementation. scripts/sync_contract.py reproduces them and records source hashes; only the User-Agent differs. Generated component classes have explicit input sockets and fixed sources. Tests use HTTP fixtures and block network access; they do not prove production API, model or customer-storage execution.

Subtitle languages

For transcript and captions, language accepts one code or a list of 1–10 distinct codes, such as ["en", "es"]. Omit it to prefer en-orig, then en, returning one track. Explicit strings keep the single-track response. Lists, including one-element lists, return tracks and per-language errors inside each result. Keep available tracks and report the failed languages; if none succeed, tracks is empty. The auto choice applies to every language and never switches caption source.

Metadata

Release files for flashdata-haystack 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flashdata-haystack 0.2.0
File Size Uploaded Provenance Actions
flashdata_haystack-0.2.0.tar.gz 150.6 kB Without provenance Details for flashdata_haystack-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for flashdata-haystack 0.2.0
File Interpreter ABI Platform Actions
flashdata_haystack-0.2.0-py3-none-any.whl Python 3 none any Details for flashdata_haystack-0.2.0-py3-none-any.whl

Total release size: 168.8 kB

Release files / flashdata_haystack-0.2.0.tar.gz

Download URL flashdata_haystack-0.2.0.tar.gz
Size 150.6 kB
Tags Source
SHA-256 checksum
How to use checksums
79945000d345dd7451a04ae35cd9c4a720a5c686d5c36c1b114c894847493d5e
BLAKE2b-256 checksum
How to use checksums
5cd865cccebcfdbe77b388a97a8b04655892ccc4e58ec5cf3fdc28569fb00a67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / flashdata_haystack-0.2.0-py3-none-any.whl

Download URL flashdata_haystack-0.2.0-py3-none-any.whl
Size 18.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0fa53822b21dc2705393bee3e6157fd9e232bc02e47bc5c586742d5c2270f522
BLAKE2b-256 checksum
How to use checksums
a438ab199562a5d2de731dfebeeaf33d44e56be985e52c9cbf6c0a81dbdda3b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Security for flashdata-haystack 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page