Instagram API Without Rate Limits: How to Easily Access Public Data


The Instagram Graph API is awesome, but it has a rate limit of 200 calls per hour * the number of users.
So if you're doing any kind of volume, this really sucks and is a huge bottleneck for your project.
To get around this, you could try scraping Instagram yourself, using proxies, running headless browsers, constantly dodging bans, etc.
But unless you want to babysit all that headache 24/7, there’s a much easier way: Scrape Creators gives you direct access to public Instagram data, without rate limits, and it's really easy to use.
Here’s how easy it is to pull public Instagram data using Scrape Creators:
Example: Get Public Profile Data
Let’s say you want to pull public info about an Instagram user like nike
.
You want some basic information like bio, website, follower count, recent posts, etc.
By the way the documentation for this api is here: Instagram Profile Endpoint

All you need to do is make a GET
request to /v1/instagram/profile
like so:
import axios from 'axios';
const { data } = await axios.get(
'https://api.scrapecreators.com/v1/instagram/profile',
{
headers: {
'x-api-key': YOUR_API_KEY
}
}
);
console.log(data)
To get an API key, just sign up at app.scrapecreators.com (free trial, no credit card required)
That will return something like this, which has that basic information, and even the users recent posts also:
{
"success": true,
"data": {
"user": {
"biography": "You can’t win. So Win.",
"bio_links": [
{
"title": "",
"lynx_url": "https://l.instagram.com/?u=http%3A%2F%2Fempli.fi%2Fnike&e=AT3cEN7ZOHQuH3UCpnDlP-4kPHTumqr-HbuNdVSrUxzUiitDe9Q2U7R70hH9ejzOxEPBi8ZEOntQtCGGf0hu7XGhUd-Y_d015kwaKbbk6U9EWy65",
"url": "http://empli.fi/nike",
"link_type": "external"
}
],
"biography_with_entities": {
"raw_text": "You can’t win. So Win.",
"entities": []
},
"external_url": "http://empli.fi/nike",
"edge_followed_by": {
"count": 301256796
},
"fbid": "17841400602400210",
"edge_follow": {
"count": 228
},
"full_name": "Nike",
"id": "13460080",
"is_business_account": true,
"business_address_json": {
"city_name": "Beaverton, Oregon",
"city_id": 108410602520455,
"latitude": 45.5076448,
"longitude": -122.8269159,
"street_address": "One Bowerman Dr",
"zip_code": "97005"
},
"category_enum": "SPORTSWEAR_STORE",
"username": "nike",
"edge_felix_video_timeline": {
"count": 28,
"page_info": {
"has_next_page": true,
"end_cursor": "QVFCY2F0R1lxdEFYNUoyd1BOZWxuT2N6Qm1keGoxUmRqRlFseGRONzVVWk1JNUJJbllwaXJUa2JfVDIzYlJMLWU3VjJySzNCdHUyY3dQOTBjYWJTb2QzVw=="
},
"edges": [
{
"node": {
"__typename": "GraphVideo",
"id": "2876175088228270085",
"shortcode": "CfqOgENrIAF",
"is_video": true,
"has_audio": true,
"video_url": "https://scontent-bos5-1.cdninstagram.com/o1/v/t16/f2/m69/AQNBaN0Bbce_UhfOjoqm1d4IFi0II1Z4Q_hn-YLETflvSgFjCyJFETM8ghxgn4YOfIzfcwdrQs257TINnUpS--KY.mp4?stp=dst-mp4&efg=eyJxZV9ncm91cHMiOiJbXCJpZ193ZWJfZGVsaXZlcnlfdnRzX290ZlwiXSIsInZlbmNvZGVfdGFnIjoidnRzX3ZvZF91cmxnZW4uaWd0di5jMi43MjAuYmFzZWxpbmUifQ&_nc_cat=108&vs=608498457649958_322705160&_nc_vs=HBksFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HSUNXbUFDSHhLRkZwdFVEQUZ2aE9tckJqMXRUYnZWQkFBQUYVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dBNGthaEVpcU0tcmYtMEJBSkNQREdWcWd4UVhidlZCQUFBRhUCAsgBACgAGAAbAYgHdXNlX29pbAExFQAAJs72j5i9urM%2FFQIoAkMzLBdATgAAAAAAABgSZGFzaF9iYXNlbGluZV8xX3YxEQB17AcA&ccb=9-4&oh=00_AfETgO9057Q0dhxwFg8a4G0OaaYDEZwbDN0OPymAfmV7EQ&oe=6811A581&_nc_sid=8b3546",
"video_view_count": 2318849,
"edge_media_to_caption": {
"edges": [
{
"node": {
"text": "Wild goals. Big ambition. Mind-blowing skill 🤯🤯🤯 \n\nWomen have been elevating the game since day one. And they’ll continue to smash records, set the bar and raise the game for all of football 🥅☄️\n\nNever Settle, Never Done."
}
}
]
},
"edge_media_to_comment": {
"count": 828
},
"comments_disabled": false,
"taken_at_timestamp": 1657087316,
"edge_liked_by": {
"count": 140998
},
"edge_media_preview_like": {
"count": 140998
}
}
}
]
},
"edge_owner_to_timeline_media": {
"count": 1574,
"edges": [
{
"node": {
"__typename": "GraphVideo",
"id": "3617139176446146176",
"shortcode": "DIyqOqjOLaA",
"dimensions": {
"height": 1920,
"width": 1080
},
"is_video": true,
"has_audio": true,
"video_url": "https://scontent-bos5-1.cdninstagram.com/o1/v/t16/f2/m86/AQPzINLg6hL1AD4I9k8RVpBcfyEgRvTrc78_uLQ82p42lg17Aifqq310XdaKzlvBx8dtFW--iUMFwuoi5cMI-8wutvz5KQzKanJ3SJc.mp4?stp=dst-mp4&efg=eyJxZV9ncm91cHMiOiJbXCJpZ193ZWJfZGVsaXZlcnlfdnRzX290ZlwiXSIsInZlbmNvZGVfdGFnIjoidnRzX3ZvZF91cmxnZW4uY2xpcHMuYzIuNzIwLmJhc2VsaW5lIn0&_nc_cat=101&vs=654746210819686_2745054583&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC9CQzQzMTM5QjgwRkE3OUVEREUyNDg1NTU2N0ZCOTk5RV92aWRlb19kYXNoaW5pdC5tcDQVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dKR0lTQjJMYTRGT1hKOERBSzljMWRROXZKNGtia1lMQUFBRhUCAsgBACgAGAAbABUAACa%2BhrWX%2Bo%2FPPxUCKAJDMywXQDYFYEGJN0wYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HAA%3D%3D&ccb=9-4&oh=00_AfHGn9h3kMViVB_CC-UYLxtYQ9QXmQFs75mjOqdpDBMWSg&oe=68119673&_nc_sid=8b3546",
"video_view_count": 2410802,
"edge_media_to_caption": {
"edges": [
{
"node": {
"text": "BREAKING4: @faithkipyegon vs. the 4-minute mile. \n\nBehind every human breakthrough lies unshakeable perseverance. And it helps to have Faith.\n\nWitness history on June 26th."
}
}
]
},
"edge_media_to_comment": {
"count": 1068
},
"comments_disabled": false,
"taken_at_timestamp": 1745416845,
"edge_liked_by": {
"count": 43352
},
"edge_media_preview_like": {
"count": 72955
},
"location": {
"id": "400898",
"has_public_page": true,
"name": "Stade Charléty",
"slug": "stade-charlety"
}
}
}
]
}
}
},
"status": "ok"
}
If you want to get just the posts of the user, use the /v2/instagram/user/posts
endpoint.
And that's it!
How to Get Started
- Sign up for a Scrape Creators account
- Get your API key
- Start making requests
You can check out the full API docs here.
If you want reliable, no-drama access to public Instagram data, Scrape Creators makes it stupid simple.
Sign up here and get started.