Sprift · Arazzo Workflow

Sprift — enrich a CRM record with property data

Version 1.0.0

Resolve a held address to a UPRN and Sprift property ID, then enrich with EPC, council tax, nearby schools, nearby transport, TV availability and imagery.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub Real-EstateUnited KingdomPropTechProperty DataProperty ListingsValuationAVMLand RegistryConveyancingRentalsMortgageArazzoWorkflows

Provider

sprift

Workflows

crm-property-enrichment
Postcode → UPRN → propertyID → EPC, council tax, schools, transport, TV, maps
8 steps inputs: apiKey, postcode outputs: councilTax, epc, propertyId, schools, transport
7
tv-availability
Takes the UPRN, not the propertyID.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Sprift — enrich a CRM record with property data
  version: 1.0.0
  summary: >-
    Resolve a held address to a UPRN and Sprift property ID, then enrich with EPC,
    council tax, nearby schools, nearby transport, TV availability and imagery.
  description: >-
    Authored by API Evangelist from Sprift's published Swagger 2.0 contract. Read-only
    and safe to schedule. Watch the identifier split: PropertyDetails-Tv takes the
    UPRN while the rest of the enrichment family takes Sprift's internal propertyID.
    Rate limits exist but are not quantified publicly — throttle when running this in
    bulk, and note that /api/v2/bulk is advertised but uncontracted.
sourceDescriptions:
- name: propertyApi
  url: ../openapi/sprift-property-api-openapi.yml
  type: openapi
- name: propertyV2Api
  url: ../openapi/sprift-property-v2-api-openapi.yml
  type: openapi
- name: searchApi
  url: ../openapi/sprift-search-api-openapi.yml
  type: openapi
workflows:
- workflowId: crm-property-enrichment
  summary: Postcode → UPRN → propertyID → EPC, council tax, schools, transport, TV, maps
  inputs:
    type: object
    required:
    - apiKey
    - postcode
    properties:
      apiKey:
        type: string
        description: Sprift API key, sent as the SPRIFT-API-KEY header.
      postcode:
        type: string
        description: UK postcode held on the CRM record.
  steps:
  - stepId: resolve-postcode
    operationId: $sourceDescriptions.searchApi.SearchPropertiesByPostcode
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: postcode
      in: path
      value: $inputs.postcode
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      matches: $response.body#/data
  - stepId: resolve-property-id
    operationId: $sourceDescriptions.propertyV2Api.Property-ID
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: uprn
      in: path
      value: $steps.resolve-postcode.outputs.matches[0].value
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      propertyId: $response.body#/property_id
  - stepId: epc
    operationId: $sourceDescriptions.propertyV2Api.Property-EPC
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: propertyID
      in: path
      value: $steps.resolve-property-id.outputs.propertyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      epc: $response.body#/epc
  - stepId: council-tax
    operationId: $sourceDescriptions.propertyV2Api.Property-Council-Tax
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: propertyID
      in: path
      value: $steps.resolve-property-id.outputs.propertyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      councilTax: $response.body#/councilTax
  - stepId: nearby-schools
    operationId: $sourceDescriptions.propertyV2Api.Property-Nearby-School
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: propertyID
      in: path
      value: $steps.resolve-property-id.outputs.propertyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      schools: $response.body#/nearby_schools
  - stepId: nearby-transport
    operationId: $sourceDescriptions.propertyV2Api.Property-Nearby-Transport
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: propertyID
      in: path
      value: $steps.resolve-property-id.outputs.propertyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      transport: $response.body#/nearby_transport
  - stepId: tv-availability
    description: Takes the UPRN, not the propertyID.
    operationId: $sourceDescriptions.propertyApi.PropertyDetails-Tv
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: uprn
      in: path
      value: $steps.resolve-postcode.outputs.matches[0].value
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      bt: $response.body#/bt
      sky: $response.body#/sky
      virgin: $response.body#/virgin
  - stepId: maps
    operationId: $sourceDescriptions.propertyApi.PropertyDetails-Maps
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: propertyID
      in: path
      value: $steps.resolve-property-id.outputs.propertyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      mapWithPolygon: $response.body#/propertyMapWithPolygon
      satelliteImage: $response.body#/propertySatelliteImage
      streetViewImage: $response.body#/propertyStreetViewImage
  outputs:
    propertyId: $steps.resolve-property-id.outputs.propertyId
    epc: $steps.epc.outputs.epc
    councilTax: $steps.council-tax.outputs.councilTax
    schools: $steps.nearby-schools.outputs.schools
    transport: $steps.nearby-transport.outputs.transport

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/sprift-crm-enrichment"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.