> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pointset.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Field Strategies

> How Pointset determines where and how to extract custom fields

A **field strategy** defines how to extract a specific field for a given entity type. When you request a custom field in a subscription, Pointset generates a strategy for it automatically.

## What a strategy contains

| Property            | Purpose                                                                        |
| ------------------- | ------------------------------------------------------------------------------ |
| `entity_type`       | The entity type this strategy applies to (e.g. `cafe`)                         |
| `field_name`        | The field being extracted (e.g. `price_of_americano`)                          |
| `sources`           | Ordered list of URLs to scrape — `instagram_url`, `facebook_url`, or `website` |
| `data_type`         | Whether to pass scraped `text`, `images`, or `both` to the extraction model    |
| `extraction_prompt` | Instructions Claude receives when extracting the value from scraped content    |

## Shared across entities

Strategies are global per `(entity_type, field_name)` pair. If a strategy for `cafe` + `price_of_americano` already exists, every cafe entity benefits from it — the strategy is generated once, not per-entity.

## Base fields vs enriched fields

Outscraper provides a set of base fields automatically for every entity: `phone`, `website`, `rating`, `reviews`, `latitude`, `longitude`, `category`, `open_hours`, `instagram_url`, `facebook_url`, and `photos`. These never require a strategy.

Any field not in this list triggers strategy generation when first requested.

## Generation

When a new subscription requests a field that has no strategy, Pointset enqueues a strategy generation job. Claude evaluates the entity type and field name, selects the best source URLs to scrape, decides whether to use text or image content, and writes an extraction prompt. The result is stored as a strategy row.

If no viable source exists for the requested field, the strategy is marked `unresolvable` and the field assessment on your subscription reflects this.

## Feasibility

Generated strategies carry a feasibility signal — `high`, `medium`, or `low` — based on how reliably Claude expects to find the data on the available sources. Low-feasibility strategies result in `unresolvable` field assessments.

## Discovery

Successfully-used strategies appear in the [Discovery Catalog](/api-reference/catalog/list-entity-types), giving you visibility into what fields have been proven to work across entity types.
