Discover Places from Instagram Reels
We use Instagram's embed functionality to display Reels, then automatically extract location information from captions to help users discover and save places.
See how ReelsPlace will work with Instagram Reel URLs:
ReelsPlace uses Meta's oEmbed API to provide a seamless experience:
User copies an Instagram Reel URL and pastes it into our app
We call Meta's oEmbed endpoint to fetch embed HTML and metadata
Instagram Reel is displayed with proper attribution using embed HTML
We parse the caption to extract place names and addresses
This demo uses demonstration data because we don't have Meta oEmbed Read permission yet.
After approval, our backend will automatically call Meta's oEmbed API to fetch real caption text and extract actual location information.
This follows Meta's official guidance for demonstrating features that require API permissions during the review process.
Below is a real Instagram Reel embedded using Instagram's embed widget, demonstrating our integration:
Our production backend code (Java Spring Boot):
@Service
public class InstagramParsingService {
@Value("${instagram.app-id}")
private String appId;
@Value("${instagram.app-secret}")
private String appSecret;
public InstagramEmbedDto getOembedData(String reelUrl) {
String apiUrl = "https://graph.facebook.com/v22.0/instagram_oembed";
String accessToken = appId + "|" + appSecret;
RestTemplate restTemplate = new RestTemplate();
UriComponentsBuilder builder = UriComponentsBuilder
.fromHttpUrl(apiUrl)
.queryParam("url", reelUrl)
.queryParam("access_token", accessToken);
// Call oEmbed API
ResponseEntity response =
restTemplate.getForEntity(builder.toUriString(),
OEmbedResponse.class);
// Parse HTML to extract caption
String caption = extractCaptionFromHtml(
response.getBody().getHtml()
);
// Extract location from caption
LocationInfo location = parseLocation(caption);
return InstagramEmbedDto.builder()
.embedHtml(response.getBody().getHtml())
.location(location)
.build();
}
}
The demo above uses Instagram's public embed widget for demonstration purposes. In production, our Java backend calls Meta's oEmbed API endpoint after approval.