Verifiable venue intelligence

Your AI just invented that restaurant's address.

Ask an assistant where to eat and it will answer with total confidence: an address that moved two years ago, a price nobody quoted, a rating nobody gave. Power Scraping is the opposite bargain. We collect the posts you are entitled to collect, enrich them, and hand back records in which every single field cites the evidence it came from. What we cannot evidence, we return as unknown.

  • Every derived field carries a citation to the exact caption, frame or comment.
  • Unknowns stay unknown. A null is never quietly filled in.
  • Ungrounded model output is discarded atomically, not softened.
  • Each release ships a provenance and exception report you can hand to counsel.

The problem

Confident invention is the default failure mode

A language model asked to summarise a venue will produce a fluent answer whether or not the facts exist. There is no marker on the output that separates "the creator said this" from "this seemed plausible". If you are publishing a guide, briefing a client or feeding a recommendation engine, that difference is the whole job.

Invented specifics

Addresses, opening hours and prices arrive fully formed and completely unsourced. They read exactly like the ones that are true.

Laundered hearsay

A throwaway comment becomes "widely praised". A single visit becomes a rating. The chain back to who actually said it is gone by the time you see the summary.

No way to check

When a client challenges one field, you have to re-do the research to answer. There is nothing to point at, which means there is nothing to defend.

The answer

Verifiable extraction, in three steps

The engine is the boring part. The product is the audit trail it leaves behind.

Declare what you may collect

You name each profile as an authorized target and state the basis: your own account, a signed creator contract, a documented client mandate, or public-interest research — plus a reference we can audit. Nothing runs against an undeclared handle.

We collect and enrich

Collection runs through published interfaces only. Captions, frames and comments become numbered evidence items. Enrichment then proposes fields — venue, city, prices named, sentiment, experience tags — and each proposal must point at evidence ids.

You get records you can defend

Any field whose citations do not resolve is dropped, not downgraded. The release carries a provenance report (what was collected, when, under which basis) and an exception report (what was refused, skipped or discarded, and why).

A real record

One post in, one citable record out

This is the shape of what the API and the MCP connector return, abridged to the fields that matter here. Note the last row: the creator never gave a rating, so the field is null and says so.

Record
rec_8d31f0a4 · from a single Instagram post
Venue
Trattoria da Oscar
City
Milan
Prices named
€14, €22 — price signal mid_range
Sentiment
positive
Explicit rating
unknown — the creator never gave one
Evidence citations for the record above. Every asserted field names the evidence item it was derived from; the one field with no evidence stays null.
Field Value Evidence Quoted from the source
venue.name Trattoria da Oscar Caption ev_01 "finally back at @trattoriadaoscar for the cotoletta"
location.city Milan Geotag ev_02 "Milano, Lombardia"
price.mentions_eur 14, 22 Caption ev_03 "cotoletta €22, calice di rosso €14, worth every cent"
assessment.sentiment positive Caption ev_03 "worth every cent"
venue.place_id ChIJ7wV0mHrBhEcR8i0s Resolver ev_04 Google Places match on name plus geotag, confidence 0.91
assessment.explicit_rating null none No rating appears anywhere in the post, so the field is returned as unknown rather than inferred from tone.

An enrichment pass that cites an evidence id which does not resolve has its whole field discarded before the record is written. There is no "low confidence" tier that lets an ungrounded guess through.

Compliance posture

A managed service with the controls written down

We run collection on your instruction, which means the limits have to be product features rather than promises. These are enforced in the API, not in a policy document.

Only targets you are entitled to

Collection runs exclusively against profiles declared as authorized targets, each with an authorization basis and an auditable reference. An undeclared or revoked handle is refused before a single request is made.

The engine stops at any challenge

A block, a rate limit, a login wall or a CAPTCHA ends the job. The engine does not spoof device fingerprints, solve challenges, rotate residential proxies or share session credentials — and we will not build that, on request or otherwise.

Everything is on the record

Every collection job writes an audit event naming the actor, the target and the declared basis. Acceptance of the current acceptable-use version is required before managed collection will run at all.

You stay the controller

Collected material is yours. We act on your documented instructions, delete a target's data on request, retain for your plan's window, and never pool, sell or re-sell tenant data.

Pricing

Three tiers, metered on posts processed

One metered unit: a post the engine actually processed. No seat games, no per-field charges.

Free

Free

50 posts per period

Prove the evidence trail on a handful of posts before you commit.

  • 1 authorized target
  • Evidence-grounded enrichment
  • JSON and CSV export
  • 7-day retention
Create a free account

Agency

£399 /month

25,000 posts per period

For teams collecting on behalf of named clients.

  • 200 authorized targets and 10 seats
  • Complete-history campaigns with acceptance gates
  • Per-release provenance and exception reports
  • 365-day retention, priority support
Start on Agency

See the full comparison and what counts as a processed post

Questions

The things people ask before signing up

What exactly is a citation?

A pointer from one field of a record to one numbered evidence item collected from the source, together with the modality (caption, frame, comment, geotag, resolver), a short verbatim excerpt, the method that produced the field and its confidence. You can quote it straight back to whoever is challenging the field.

What happens when the model is not sure?

Nothing gets written. A field whose citations do not resolve against the collected evidence is discarded atomically before the record is stored. The record still arrives, with that field null, and the exception report says why it was dropped.

Which profiles can I collect?

Ones you are entitled to have collected: your own accounts, creators you hold a signed contract with, clients who have given you a documented mandate, or subjects of public-interest research. You declare the basis and a reference per target, and you revoke it the moment it stops being true.

What happens if a platform blocks the engine?

The job stops and reports access_blocked. We do not evade access controls of any kind, and we will not add that capability. A refusal you can see beats data you cannot explain.

How does the MCP connector fit in?

Connect Power Scraping to Claude, ChatGPT or an IDE agent and the same evidence-grounded records become callable in a conversation: list targets, start a collection, poll it, then read records and search them. The assistant quotes the citations instead of inventing the gaps. See the quickstart.

What is a processed post?

One post the engine actually collected and enriched in the current billing period. Posts skipped by a filter, refused by an access control, or re-exported from an existing release are not metered again.

Can I get my data out?

Yes. Every release is downloadable as JSON or CSV with its evidence, provenance report and exception report intact, through the REST API or an export job.

Start with 50 posts and check the citations yourself

No card. Declare one target, run one collection, and read the evidence behind every field it returns.