InBetween

Detail Endpoints Overview

The Detail endpoint enables you to get varying levels of detail about specific locations

The Detail API provides rich, comprehensive information about specific venues. After using the Search API to find venues that match your criteria, use these endpoints to get detailed information including photos, menus, events, and more.

How it works

Endpoint structure

All detail endpoints follow this pattern:

GET /v1/establishments/{level}/{venueId}

Where:

  • {level} is the detail level (basic, advanced, menus)
  • {venueId} is the venue ID from your search results

Detail levels

Provided data

FeatureSearch ResultsBasic DetailsAdvanced DetailsMenus
Cost per 1k requests£6£8£12£6
Name✓✓✓
Display name✓✓✓
Formatted address✓✓✓
Location Coordinates✓✓✓
Website✓✓✓
Email✓✓✓
Phone✓✓✓
Description✓✓✓
Primary Genre✓✓✓
Additional Genres✓✓✓
Word on the street✓✓✓
Opening timesMatching request✓✓
isChain✓✓✓
Establishment optionsMatching request✓✓
Catering optionsMatching request✓✓
Main Image✓✓✓
Logo✓✓✓
All Images✓✓
Average price per head✓✓
Special opening times (e.g. Christmas)✓✓
Kitchen open times✓✓
Booking link✓✓
Ratings✓✓
Accessibility✓✓
Payment✓✓
Parking✓✓
Extra information (e.g. Registered number)✓
Social media links✓
Active menus✓✓
Active events✓

When to use each endpoint

Basic Details

Use for:

  • Search result previews
  • Venue list items
  • Quick venue information
  • Performance-critical applications

Advanced Details

Use for:

  • Venue profile pages
  • Detailed venue information
  • Rich user experiences
  • Complete venue data

Use for:

  • Food and drink apps
  • Menu browsing
  • Pricing information
  • Dietary information

Real-world examples

async function (: []) {
  const  = .(async () => {
    const  = await (
      `/v1/establishments/basic/${.}`,
      {
        : { "Api-Key": `${..}` },
      },
    );
    return await .();
  });

  return .();
}
async function (: string) {
  const [] = await .([
    (`/v1/establishments/advanced/${}`, {
      : { "Api-Key": `${..}` },
    }),
  ]);

  return await .();
}
async function (: string) {
  const  = await (`/v1/establishments/menus/${}`, {
    : { "Api-Key": `${..}` },
  });

  return await .();
}

Response structure comparison

Basic Details

Basic details response type
type  = {
  : string;
  : string;
  : string;
  : string;
  : {
    : string;
    : [number, number];
  };
  : string;
  : string;
  : string;
  : string;
  : string;
  : string[];
  : string;
  : boolean;
  : {
    : string[];
    : {
      : string;
      : string;
      : boolean;
      : boolean;
    }[];
  }[];
  : string;
  : string;
  : string[];
  : string[];
  : {
    : string;
    : string | null;
  }[];
  : string;
  : {
    : string;
    : {
      : string;
      : string;
      : boolean;
      : boolean;
    }[];
  }[];
  : {
    : string[];
    : {
      : string;
      : string;
      : boolean;
      : boolean;
    }[];
  }[];
  : {
    : string;
    : string;
  };
  : {
    : string;
    : number;
  };
  : {
    : boolean;
    : boolean;
    : boolean;
    : boolean;
  };
  : {
    : boolean;
    : boolean;
    : boolean;
    : boolean;
    : boolean;
    : boolean;
    : boolean;
    : boolean;
  };
  : {
    : boolean;
    : boolean;
    : boolean;
    : boolean;
  };
};

Advanced Details

Advanced details response type
type  = {
  : string;
  : string;
  : string;
  : string;
  : {
    : string;
    : [number, number];
  };
  : string;
  : string;
  : string;
  : string;
  : string;
  : string[];
  : string;
  : boolean;
  : {
    : string[];
    : {
      : string;
      : string;
      : boolean;
      : boolean;
    }[];
  }[];
  : string;
  : string;
  : string[];
  : string[];
  : {
    : string;
    : string | null;
  }[];
  : string;
  : {
    : string;
    : {
      : string;
      : string;
      : boolean;
      : boolean;
    }[];
  }[];
  : {
    : string[];
    : {
      : string;
      : string;
      : boolean;
      : boolean;
    }[];
  }[];
  : {
    : string;
    : string;
  };
  : {
    : string;
    : number;
  };
  : {
    : boolean;
    : boolean;
    : boolean;
    : boolean;
  };
  : {
    : boolean;
    : boolean;
    : boolean;
    : boolean;
    : boolean;
    : boolean;
    : boolean;
    : boolean;
  };
  : {
    : boolean;
    : boolean;
    : boolean;
    : boolean;
  };
  : {
    ?: string; 
    ?: string; 
  }[]; 
  : {
    ?: string; 
  }[]; 
  : []; 
  : {}[]; 
};
Menus response type
type  = {
  : string;
  ?: string;
  ?: number;
  : [];
};

type  = {
  : string;
  ?: string;
  ?: number;
  ?: [];
  : [];
};

type  = {
  : string;
  ?: string;
  ?: string[];
  ?: number;
  ?: number;
  ?: string[];
  ?: [];
};

type  = {
  : string;
  ?: string;
  : "SINGLE" | "GROUP";
  ?: number;
  ?: [];
  ?: boolean;
  ?: number;
  ?: number;
  : [];
};

type  = {
  : string;
  ?: string;
  ?: number;
  ?: number;
  ?: string[];
  ?: boolean;
  ?: number;
  ?: number;
};

Performance considerations

Advanced details can have a relatively large response size. If this is a concern, you should use the basic details endpoint when you don't need the additional data.

Next steps

On this page