DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
OnPage API রিসোর্স
ক্রলে পাওয়া নন-পেজ অ্যাসেট — ছবি, স্ক্রিপ্ট, স্টাইলশিট — তাদের স্টেটাস কোড ও আকারসহ। পেজিং search_after_token দিয়ে হয়। এটি সম্পন্ন হওয়া ক্রল থেকে পড়ে, তাই post_dataforseo_on_page_submit থেকে পাওয়া id দরকার এবং crawl_progress-এর সাথে crawl_status ফেরত দেয় যাতে থাকে max_crawl_pages, pages_in_queue ও pages_crawled — ছোট ফলাফলে ভরসা করার আগে এগুলো যাচাই করুন, কারণ চলমান ক্রলের রিপোর্ট করার জিনিস কম থাকে। ক্রলার যে অ্যাসেটে পৌঁছাতেই পারেনি সেগুলোর জন্য post_dataforseo_on_page_uncrawlable_resources ব্যবহার করুন। 💰 আপস্ট্রিম ফ্রি: সম্পন্ন হওয়া ক্রল কোয়েরি করতে কোনো খরচ নেই, খরচ শুধু ক্রলের নিজেরই।
মূল্য রেফারেন্স
- মিটারিং: সফল রিকোয়েস্টের নির্দিষ্ট খরচের ভিত্তিতে
- রেফারেন্স রিকোয়েস্ট অনুমান: USD 0.012
- রেফারেন্স গ্রাহক মাল্টিপ্লায়ার: 1.0। নিষ্পত্তিকৃত গ্রাহক অঙ্কে এটি আবার প্রয়োগ করবেন না।
এটি কেবল রেফারেন্স মেটাডেটা; অ্যাকাউন্টের কোটেশন, নিশ্চিত মূল্য বা ব্যয়সীমা নয়। রিসোর্স ক্রেডিট Felo ক্রেডিট নয়। চূড়ান্ত চার্জ Felo-এর বিলিং রেকর্ড অনুযায়ী হয়।
- টাইপ: array (object | null)[]
- filtersটাইপ: array (object | null)[] | null
ফলাফল ফিল্টার করার প্যারামিটারের অ্যারে
ঐচ্ছিক ফিল্ড
আপনি একসঙ্গে একাধিক ফিল্টার যোগ করতে পারেন (সর্বোচ্চ 8টি ফিল্টার)
শর্তগুলোর মধ্যে আপনাকে লজিক্যাল অপারেটরand,orসেট করতে হবে
নিম্নলিখিত অপারেটর সমর্থিত:regex,not_regex,<,<=,>,>=,=,<>,in,not_in,like,not_like
শূন্য বা তার বেশি অক্ষরের যেকোনো স্ট্রিংয়ের সঙ্গে মেলাতে আপনি%অপারেটর ব্যবহার করতে পারেনlikeওnot_like-এর সঙ্গে
উদাহরণ:["resource_type","=","stylesheet"][["resource_type","=","image"],
"and",["checks.is_https","=",false]][["fetch_timing.duration_time",">",1],"and",[["total_transfer_size",">",100],"or",["checks.high_loading_time","=",true]]]খালি অবজেক্ট - idটাইপ: string
- limitটাইপ: integer | null
ফেরত দেওয়া রিসোর্সের সর্বোচ্চ সংখ্যা
ঐচ্ছিক ফিল্ড
ডিফল্ট মান:100
সর্বোচ্চ মান:1000 - offsetটাইপ: integer | null
ফেরত দেওয়া রিসোর্সের ফলাফল অ্যারেতে অফসেট
ঐচ্ছিক ফিল্ড
ডিফল্ট মান:0
সর্বোচ্চ মান:200000010মান নির্দিষ্ট করলে ফলাফল অ্যারেতে প্রথম দশটি রিসোর্স বাদ যাবে এবং পরবর্তী রিসোর্সগুলোর ডেটা দেওয়া হবে - orderটাইপ: array string[] | null
_by ফলাফল সাজানোর নিয়ম
ঐচ্ছিক ফিল্ড
ফলাফল সাজাতে আপনিfiltersঅ্যারেতে ব্যবহৃত একই মান ব্যবহার করতে পারেন
সম্ভাব্য সাজানোর ধরন:asc- ফলাফল ঊর্ধ্বক্রমে সাজানো হবেdesc- ফলাফল অধঃক্রমে সাজানো হবে
সাজানোর ধরন সেট করতে আপনাকে কমা ব্যবহার করতে হবে
উদাহরণ:["size,desc"]
লক্ষ্য করুন, একটি রিকোয়েস্টে আপনি সর্বোচ্চ তিনটি সাজানোর নিয়ম সেট করতে পারেন
একাধিক সাজানোর নিয়ম আলাদা করতে আপনাকে কমা ব্যবহার করতে হবে
উদাহরণ:["size,desc","fetch_timing.fetch_end,desc"] - relevantটাইপ: array string[] | null
_pages _filters প্রাসঙ্গিক পেজ অনুযায়ী রিসোর্স ফিল্টার করুন
ঐচ্ছিক ফিল্ড
নির্ধারিত প্যারামিটারের সঙ্গে মেলে এমন পেজ থেকে রিসোর্স পেতে আপনি এই ফিল্ড ব্যবহার করতে পারেন
এখানে আপনি pages endpoint-এর জন্য উপলব্ধ একই ফিল্টার প্রয়োগ করতে পারেন
আপনি একসঙ্গে একাধিক ফিল্টার যোগ করতে পারেন (সর্বোচ্চ 8টি ফিল্টার)
শর্তগুলোর মধ্যে আপনাকে লজিক্যাল অপারেটরand,orসেট করতে হবে
নিম্নলিখিত অপারেটর সমর্থিত:regex,not_regex,<,<=,>,>=,=,<>,in,not_in,like,not_like
শূন্য বা তার বেশি অক্ষরের যেকোনো স্ট্রিংয়ের সঙ্গে মেলাতে আপনি%অপারেটর ব্যবহার করতে পারেনlikeওnot_like-এর সঙ্গে
উদাহরণ:["checks.no_image_title","=",true] - searchটাইপ: string | null
_after _token পরবর্তী রিকোয়েস্টের জন্য টোকেন
ঐচ্ছিক ফিল্ড
প্রতিটি রিকোয়েস্টের রেসপন্সের একই ফিল্ডে দেওয়া হয়;
একবারে20,000-এর বেশি ফলাফল পেতে গিয়ে টাইমআউট এড়াতে এই প্যারামিটার ব্যবহার করুন;
রেসপন্স অ্যারে থেকে অনন্যsearch_after_tokenমান উল্লেখ করে আপনি প্রাথমিক টাস্কের পরবর্তী ফলাফল পাবেন;search_after_tokenমান প্রতিটি পরবর্তী টাস্কের জন্য অনন্য ;
নোট: রিকোয়েস্টেsearch_after_tokenউল্লেখ থাকলে বাকি সব প্যারামিটার আগের রিকোয়েস্টের মতোই হতে হবে - tagটাইপ: string | null
ব্যবহারকারী-নির্ধারিত টাস্ক আইডেন্টিফায়ার
ঐচ্ছিক ফিল্ড
অক্ষরসীমা 255
এই প্যারামিটার দিয়ে টাস্ক শনাক্ত করে ফলাফলের সঙ্গে মিলিয়ে নিতে পারেন
নির্দিষ্টtagমান response-এরdataঅবজেক্টে পাবেন - urlটাইপ: string | null
পেজ URL
ঐচ্ছিক ফিল্ড
নির্দিষ্ট পেজের রিসোর্স পেতে চাইলে এই ফিল্ড নির্দিষ্ট করুন
লক্ষ্য করুন, নির্দিষ্ট URL থেকে রিসোর্সেরmetaপেতে হলে আপনাকে এই ফিল্ডে URL নির্দিষ্ট করতে হবে;
টাস্ক সেট করার সময়urlনির্দিষ্ট না করলে, ফলাফলে রিসোর্সেরmetaসেই পেজের ডেটার ভিত্তিতে ফেরত আসবে যেখানে আমাদের crawler প্রথমবার রিসোর্সটি দেখেছে
- টাইপ: object | null · Response36Afe1097B20_OnPageResourcesResponseInfo200
- টাইপ: number | null ফরম্যাট: doublecost
টাস্কের মোট খরচ, USD
- টাইপ: integer | nullstatus
_code সাধারণ স্ট্যাটাস কোড সম্পূর্ণ response কোড তালিকা এখানে দেখতে পাবেন
- টাইপ: string | nullstatus
_message সাধারণ তথ্যমূলক বার্তা সাধারণ তথ্যমূলক বার্তার সম্পূর্ণ তালিকা এখানে দেখতে পাবেন
- টাইপ: array (object | null)[] | nulltasks
টাস্কের অ্যারে
- টাইপ: object | null · Response36Afe1097B20_OnPageResourcesTaskInfo
- costটাইপ: number | null ফরম্যাট: double
টাস্কের মোট খরচ, USD
- dataটাইপ: object | null
এতে POST রিকোয়েস্টে আপনি যে প্যারামিটারগুলো নির্দিষ্ট করেছিলেন সেগুলোই থাকে
- propertyটাইপ: object | null
Name
- idটাইপ: string | null
টাস্ক আইডেন্টিফায়ার আমাদের সিস্টেমে অনন্য টাস্ক আইডেন্টিফায়ার, UUID ফরম্যাটে
- pathটাইপ: array (string | null)[] | null
URL পাথ
- resultটাইপ: array (object | null)[] | null
ফলাফলের অ্যারে
- crawlটাইপ: string | null
_progress ক্রলিং সেশনের অবস্থা
সম্ভাব্য মান:in_progress,finished - crawlটাইপ: object | null · Response36Afe1097B20_CrawlStatusInfo
_status ক্রলিং সেশনের বিবরণ
- maxটাইপ: integer | null ফরম্যাট: int64
_crawl _pages ক্রল করার সর্বোচ্চ পেজ সংখ্যা টাস্ক সেট করার সময় আপনি নির্দিষ্ট করা max_crawl_pages সীমা নির্দেশ করে
- pagesটাইপ: integer | null ফরম্যাট: int64
_crawled ক্রল করা পেজের সংখ্যা
- pagesটাইপ: integer | null ফরম্যাট: int64
_in _queue এই মুহূর্তে ক্রল কিউতে থাকা পেজের সংখ্যা
- currentটাইপ: integer | null
_offset Integer numbers.
- itemsটাইপ: array (object | null)[] | null
items অ্যারে
- cacheটাইপ: object | null · Response36Afe1097B20_CacheControl
_control ক্যাশিংয়ের নির্দেশনা
- cachableটাইপ: boolean | null
পেজটি ক্যাশ করা যায় কি না তা নির্দেশ করে
- ttlটাইপ: integer | null
time to live ব্রাউজার যে সময় ধরে একটি রিসোর্স ক্যাশ করে রাখে
- checksটাইপ: object | null
ওয়েবসাইট যাচাই, পেজ-সংশ্লিষ্ট অন-পেজ যাচাই
- propertyটাইপ: boolean | null
Name
- contentটাইপ: string | null
_encoding এনকোডিংয়ের ধরন
- encodedটাইপ: integer | null
_size এনকোডিংয়ের পর পেজের আকারএনকোড করা পেজের আকার বাইটে নির্দেশ করে
- fetchটাইপ: string | null
_time কোনো রিসোর্স কখন ফেচ করা হয়েছিল সেই তারিখ ও সময়UTC ফরম্যাটে: “yyyy-mm-dd hh-mm-ss +00:00”উদাহরণ:2019-11-15 12:57:46 +00:00
- lastটাইপ: object | null · Response36Afe1097B20_LastModified
_modified রিসোর্স-সংশ্লিষ্ট পরিবর্তনের ডেটা রয়েছে কোনো ডেটা না থাকলে মান null হবে
- headerটাইপ: string | null
হেডার সর্বশেষ কখন পরিবর্তন করা হয়েছিল তার তারিখ ও সময়। UTC ফরম্যাটে: "yyyy-mm-dd hh-mm-ss +00:00"। উদাহরণ: 2019-11-15 12:57:46 +00:00। ডেটা না থাকলে মান হবে null
- metaটাইপ: string | null
_tag মেটা ট্যাগ সর্বশেষ কখন পরিবর্তন করা হয়েছিল তার তারিখ ও সময়। UTC ফরম্যাটে: "yyyy-mm-dd hh-mm-ss +00:00"। উদাহরণ: 2019-11-15 12:57:46 +00:00। ডেটা না থাকলে মান হবে null
- sitemapটাইপ: string | null
সাইটম্যাপ সর্বশেষ কখন পরিবর্তন করা হয়েছিল তার তারিখ ও সময়। UTC ফরম্যাটে: "yyyy-mm-dd hh-mm-ss +00:00"। উদাহরণ: 2019-11-15 12:57:46 +00:00। ডেটা না থাকলে মান হবে null
- locationটাইপ: string | null
location হেডারএকটি পেজকে রিডাইরেক্ট করার URL নির্দেশ করে
- mediaটাইপ: string | null
_type পেজ প্রদর্শনে ব্যবহৃত মিডিয়ার ধরন
- resourceটাইপ: object | null · Response36Afe1097B20_OnPageResourceIssueInfo
_errors রিসোর্সের ত্রুটি ও সতর্কতা
- errorsটাইপ: array (object | null)[] | null
রিসোর্স ত্রুটি
- columnটাইপ: integer | null
যে কলামে ত্রুটি পাওয়া গেছে
- lineটাইপ: integer | null
যে লাইনে ত্রুটি পাওয়া গেছে
- messageটাইপ: string | null
ত্রুটির টেক্সট বার্তাসম্ভাব্য HTML ত্রুটির সম্পূর্ণ তালিকা এখানে পাওয়া যায়
- statusটাইপ: integer | null
_code সাধারণ স্ট্যাটাস কোডসম্পূর্ণ response কোড তালিকা এখানে দেখতে পাবেননোট: সংশ্লিষ্ট অস্বাভাবিক বা ত্রুটি পরিস্থিতি সামলানোর জন্য প্রয়োজনীয় সিস্টেম ডিজাইন করার পরামর্শ দিই
- warningsটাইপ: array (object | null)[] | null
রিসোর্স সতর্কতা
- columnটাইপ: integer | null
যে কলামে ত্রুটি পাওয়া গেছে
- lineটাইপ: integer | null
যে লাইনে ত্রুটি পাওয়া গেছে
- messageটাইপ: string | null
ত্রুটির টেক্সট বার্তাসম্ভাব্য HTML ত্রুটির সম্পূর্ণ তালিকা এখানে পাওয়া যায়
- statusটাইপ: integer | null
_code সাধারণ স্ট্যাটাস কোডসম্পূর্ণ response কোড তালিকা এখানে দেখতে পাবেননোট: সংশ্লিষ্ট অস্বাভাবিক বা ত্রুটি পরিস্থিতি সামলানোর জন্য প্রয়োজনীয় সিস্টেম ডিজাইন করার পরামর্শ দিই
- resourceটাইপ: string | null
_type এলিমেন্টের ধরন
- serverটাইপ: string | null
সার্ভার সংস্করণ
- sizeটাইপ: integer | null
রিসোর্সের আকারনির্দিষ্ট পেজের আকার বাইটে নির্দেশ করে
- statusটাইপ: integer | null
_code সাধারণ স্ট্যাটাস কোডসম্পূর্ণ response কোড তালিকা এখানে দেখতে পাবেননোট: সংশ্লিষ্ট অস্বাভাবিক বা ত্রুটি পরিস্থিতি সামলানোর জন্য প্রয়োজনীয় সিস্টেম ডিজাইন করার পরামর্শ দিই
- totalটাইপ: integer | null ফরম্যাট: int64
_transfer _size কম্প্রেসড পেজের আকারনির্দিষ্ট পেজের কম্প্রেসড আকার নির্দেশ করে
- urlটাইপ: string | null
পেজ URL
- itemsটাইপ: integer | null ফরম্যাট: int64
_count ফলাফল অ্যারেতে আইটেমের সংখ্যা
- searchটাইপ: string | null
_after _token - totalটাইপ: integer | null ফরম্যাট: int64
_items _count ক্রল করা প্রাসঙ্গিক আইটেমের মোট সংখ্যা
- resultটাইপ: integer | null ফরম্যাট: int64
_count result অ্যারেতে এলিমেন্টের সংখ্যা
- statusটাইপ: integer | null
_code টাস্কের স্ট্যাটাস কোড DataForSEO কর্তৃক তৈরি, যা নিম্নলিখিত পরিসরে হতে পারে: 10000-60000 সম্পূর্ণ response কোড তালিকা এখানে দেখতে পাবেন
- statusটাইপ: string | null
_message টাস্কের তথ্যমূলক বার্তা সাধারণ তথ্যমূলক বার্তার সম্পূর্ণ তালিকা এখানে দেখতে পাবেন
- timeটাইপ: string | null
সম্পাদনের সময়, সেকেন্ড
- টাইপ: integer | null ফরম্যাট: int64tasks
_count tasks অ্যারেতে টাস্কের সংখ্যা
- টাইপ: integer | null ফরম্যাট: int64tasks
_error ত্রুটিসহ ফেরত দেওয়া tasks অ্যারেতে টাস্কের সংখ্যা
- টাইপ: string | nulltime
মোট সম্পাদন সময়, সেকেন্ড
- টাইপ: string | nullversion
API-এর বর্তমান সংস্করণ
application/json - 400
রিকোয়েস্ট প্রক্রিয়া করা যায়নি। রিকোয়েস্ট প্যারামিটার যাচাই করুন।
- 401
একটি বৈধ Felo API key আবশ্যক।
- 402
বিলিং শর্ত পূরণ না হওয়ায় রিকোয়েস্ট এগোতে পারছে না।
- 403
অ্যাকাউন্টটিকে এই অপারেশন করার অনুমতি নেই।
- 429
রিকোয়েস্ট বা ব্যয়ের সীমায় পৌঁছে গেছে।
- 502
পরিষেবা রিকোয়েস্টটি সম্পন্ন করতে পারেনি।
- 503
API বা বিলিং পরিষেবা সাময়িকভাবে অনুপলভ্য।
- 504
রিকোয়েস্ট প্রক্রিয়াকরণের সময় পরিষেবার সময় শেষ হয়ে গেছে।
- default
ত্রুটি রেসপন্স; আপস্ট্রিম passthrough রেসপন্স প্রোভাইডারের ফর্ম্যাট ব্যবহার করতে পারে।
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/resources \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"id": "07281559-0695-0216-0000-c269be8b7592",
"filters": [
[
"resource_type",
"=",
"image"
],
"and",
[
"size",
">",
100000
]
],
"order_by": [
"size,desc"
],
"limit": 10
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": [
{
"crawl_progress": null,
"crawl_status": {
"max_crawl_pages": null,
"pages_in_queue": null,
"pages_crawled": null
},
"search_after_token": null,
"current_offset": null,
"total_items_count": null,
"items_count": null,
"items": [
{
"resource_type": null,
"status_code": null,
"location": null,
"url": null,
"resource_errors": "[Max Depth Exceeded]",
"size": null,
"encoded_size": null,
"total_transfer_size": null,
"fetch_time": null,
"cache_control": "[Max Depth Exceeded]",
"checks": null,
"content_encoding": null,
"media_type": null,
"server": null,
"last_modified": "[Max Depth Exceeded]"
}
]
}
]
}
]
}