Skip to main content
A subscription is a standing request for data. You specify a city, an entity type, and the fields you want — Pointset handles discovery, enrichment, and delivery automatically.

Creating a subscription

{
  "city": "Bangkok",
  "entity_type": "muay_thai_gym",
  "fields": ["phone", "website", "class_schedule", "drop_in_price"]
}
On creation, Pointset immediately:
  1. Enqueues a scrape job to discover entities in that city
  2. Enqueues strategy generation for any custom fields not already known

Fields

The fields array defines which data points you want on each entity. Standard fields (phone, website, rating, etc.) are available immediately. Custom fields require strategy generation first — see Field Strategies. You can update the fields on an active subscription at any time. New fields trigger strategy generation if needed.

Field assessments

Each requested field has an assessment that reflects its resolution status:
StatusMeaning
pendingStrategy not yet generated
resolvedStrategy exists and extraction is working
low_confidenceStrategy generated but data is hard to find reliably
unresolvableNo viable source found for this field on this entity type
Assessments are returned on the subscription object. A low_confidence or unresolvable field can often be fixed by requesting a more specific field name — for example, drop_in_price instead of price.

Data status

StatusMeaning
pending_dataFirst scrape has not completed yet
data_readyAt least one scrape has completed; entities are available

Webhook delivery

Once data_status is data_ready, Pointset delivers webhook events for each entity linked to your subscription:
  • entity.discovered — a new entity was found
  • entity.updated — one or more of your subscribed fields changed
  • entity.removed — the entity no longer appears in source data
Each event payload includes only the fields you subscribed to — never the full entity blob.

Refresh cadence

Subscriptions are automatically refreshed monthly. Entities are re-scraped and re-enriched; changed fields trigger entity.updated events. You don’t need to do anything to keep data current.

Status lifecycle

StatusMeaning
activeReceiving data normally
pausedNo new events delivered; resumes on update
cancelledPermanently stopped; cannot be reactivated